diff --git a/datasette/templates/table.html b/datasette/templates/table.html index 3238e83f..56fd4744 100644 --- a/datasette/templates/table.html +++ b/datasette/templates/table.html @@ -25,7 +25,7 @@ {% if filtered_table_rows or human_description_en %}

{% if filtered_table_rows or filtered_table_rows == 0 %}{{ "{:,}".format(filtered_table_rows) }} row{% if filtered_table_rows == 1 %}{% else %}s{% endif %}{% endif %} - {% if human_description_en %}where {{ human_description_en }}{% endif %} + {% if human_description_en %}{{ human_description_en }}{% endif %}

{% endif %} diff --git a/datasette/utils.py b/datasette/utils.py index 4a2e0ed5..7f581741 100644 --- a/datasette/utils.py +++ b/datasette/utils.py @@ -475,7 +475,10 @@ class Filters: and_bits.append(', '.join(commas)) if tail: and_bits.append(tail[0]) - return ' and '.join(and_bits) + s = ' and '.join(and_bits) + if not s: + return '' + return 'where {}'.format(s) def selections(self): "Yields (column, lookup, value) tuples" diff --git a/tests/test_api.py b/tests/test_api.py index da167243..311938a1 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -388,6 +388,8 @@ def test_sortable_and_filtered(app_client): ) response = app_client.get(path, gather_request=False) fetched = response.json['rows'] + assert 'where content contains "d" sorted by sortable descending' \ + == response.json['human_description_en'] expected = [ row for row in generate_sortable_rows(201) if 'd' in row['content']