Вы можете отфильтровать это с помощью:
Product.objects.filter(
stock_info__enabled=True
stock_info__store_id=my_store_id
)
Таким образом, будет возвращено QuerySet
, содержащее только Product
s, для которого есть , связанное ProductStoreInfo
, для которогоenabled
- это True
, а store_id
- это my_store_id
(заменяется выражением, которое приводит к такому идентификатору).
Мы также можем аннотировать наш набор запросов данными о запасах, например:
from django.db.models import F, Min
Product.objects.filter(
stock_info__enabled=True
stock_info__store_id=my_store_id
).annotate(
stock=Min(F('store_info__stock'))
)
Здесь объекты Product
из набора запросов будут иметь дополнительный атрибут .stock
, содержащий столбец stock
соответствующего объекта ProductStore
(удовлетворяющего фильтрации).