Как добавить несколько флайтеров в модель - PullRequest
0 голосов
/ 21 сентября 2019

У меня есть таблицы инвентаря, статуса и транзакций.Транзакция имеет много ссылок на один инвентарь, а инвентарь имеет однозначное отношение к статусу.

Я пытаюсь вытащить все транзакции с проверкой> 3 сентября и с инвентарем, у которого в Django есть касса.

Я использую следующий синтаксис для извлечения Pyton, он выдает ошибку

   inventory = Inventory.objects.get(status = 2)
   transactions1 = Transaction.objects.filter((checkout_time__gt='2019-09-03') and inventory__in=inventory.id)

1 Ответ

1 голос
/ 21 сентября 2019

Вы можете просто чередовать фильтры, если вы ищете AND statemet, как это:

Transaction.objects.filter(checkout_time__gt='2019-09-03', inventory__status=2)

Если вы хотите быть более явным, вы можете использовать Django's Q object:

from django.models import Q
Transaction.objects.filter(Q(checkout_Time__gt='2019-09-03'), Q(inventory__status=2))

Используя объект Q в django, вы можете создавать OR запросы с оператором |, например:

Transaction.objects.filter(Q(checkout_Time__gt='2019-09-03') | Q(inventory__status=2))
...