Это часть кода тега шаблона, где qs - это набор запросов.
def foo(qs):
...
context['key'] = qs.order_by('an_invalid_field_coming_from_user')
Как я могу проверить, будет ли набор запросов упорядочен по допустимому полю, прежде чем выполнение кода выйдет за рамки тега шаблона, кроме форсирования оценки?
Код как есть, не вызывает ошибку, так как набор запросов не оценивается. qs.exists()
также не является ответом, поскольку он выполнит запрос без заказа.
РЕДАКТИРОВАТЬ : Обратите внимание, что запрос может быть более сложным, чем мой простой пример до редактирования Foo.objects.all()
, например, он может содержать метод extra()
, который приводит к объединениям.