Проблемы с django ORM, когда я фильтрую экземпляр модели, фильтр не работает, как должно быть.
Моя среда
Django version = 4.0.4
Python == 3.9.12
os = osx
Я запутался, когда пытаюсь сделать фильтр на модели, используя настроенный тег шаблона таким образом
@register.filter
def cart_item_count(user):
if user.is_authenticated:
qs = Order.objects.filter(user=user, ordered=False)
print(qs.ordered)
if qs.exists():
return qs[0].items.count()
else:
return 0
return 0
<
но даже когда я говорю в фильтре, что мне нужно только ordered=False, я делаю print, чтобы убедиться, какое значение имеет мой queryset, и он печатает мне True, почему такое поведение?
Это всегда возвращает мне истинный заказанный заказ, но я хочу просто взять, что есть заказанный ложный, потому что я хочу показать в моей корзине пустую корзину после того, как я делаю проверку POST для перенаправления на дом или другой вид и обновить для меня в пустую новую корзину, pls если кто-то может помочь мне даже со статьей пост об этом и объяснить мне, что я делаю неправильно, спасибо! qs.ordered относится к встроенному методу класса QuerySet, а не к столбцу в таблице данных.
Более подробную информацию можно найти на: https://docs.djangoproject.com/en/4.0/ref/models/querysets/#django.db.models.query.QuerySet.ordered