diff --git a/datasette/facets.py b/datasette/facets.py index 97ddfa07..7d7bd6d4 100644 --- a/datasette/facets.py +++ b/datasette/facets.py @@ -638,6 +638,7 @@ class ManyToManyFacet(Facet): "value": str(row["value"]), }, separators=(",", ":"), + sort_keys=True, ) selected = ("_through", through) in args if selected: diff --git a/tests/test_facets.py b/tests/test_facets.py index d2387d5c..b1037396 100644 --- a/tests/test_facets.py +++ b/tests/test_facets.py @@ -344,14 +344,14 @@ async def test_m2m_facet_results(app_client): "value": 2, "label": "Paranormal", "count": 3, - "toggle_url": "http://localhost/?_facet_m2m=attraction_characteristic&_through=%7B%22table%22%3A%22roadside_attraction_characteristics%22%2C%22column%22%3A%22characteristic_id%22%2C%22value%22%3A%222%22%7D", + "toggle_url": "http://localhost/?_facet_m2m=attraction_characteristic&_through=%7B%22column%22%3A%22characteristic_id%22%2C%22table%22%3A%22roadside_attraction_characteristics%22%2C%22value%22%3A%222%22%7D", "selected": False, }, { "value": 1, "label": "Museum", "count": 2, - "toggle_url": "http://localhost/?_facet_m2m=attraction_characteristic&_through=%7B%22table%22%3A%22roadside_attraction_characteristics%22%2C%22column%22%3A%22characteristic_id%22%2C%22value%22%3A%221%22%7D", + "toggle_url": "http://localhost/?_facet_m2m=attraction_characteristic&_through=%7B%22column%22%3A%22characteristic_id%22%2C%22table%22%3A%22roadside_attraction_characteristics%22%2C%22value%22%3A%221%22%7D", "selected": False, }, ],