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
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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