Задать вопрос
DoggieMurr
@DoggieMurr
Python Enthusiast

Как написать фильтры в annotaion django orm?

Приветствую!
Есть две модели которые никак не связаны между собой

class Item(models.Model):
    name = models.CharField()

class Model1(models.Model):
    items = models.M2MField(Item)


class Model2(models.Model):
   object = models.FKey(Item)


Как в аннотации написать фильтр, что бы можно было добавить поля из другой модели

qs = Model1.objects.annotate(
    test_field=Model2.objects.filter(object__in=F('items'))
)


При таком запросе, ошибка что нету такого поля "items" в модели Model2

Также попробовал через SubQuery и OuterRef

qs = Model1.objects.annotate(
    test_field=SubQuery(Model2.objects.filter(object__in=OuterRef('items')))
)

Это безуспешно, пишет что надо юзать SubQuery
  • Вопрос задан
  • 85 просмотров
Подписаться 2 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Разработка на Python
    1 год
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы