Django Generi c Фильтр внешнего ключа по вложенному полю объекта - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть модель с Generi c Отношения в Django.

class GenericModelDemo(models.Model):
  content_type = models.ForeignKey(ContentType)
  object_id = models.PositiveIntegerField(blank=False)
  content_object = generic.GenericForeignKey('content_type', 'object_id')
  comment = models.TextField()

Модель c, на которую ссылаются, как

class ChildModel(models.Model):
  user = models.ForeignKey(User)
  data = generic.GenericRelation(GenericModelDemo)

Я хочу отфильтровать записи из GenericModelData на основе user__email из ChildModel.

Пример

objects = GenericModelDemo.filter(childmodel__user__email='email@example.com')

Я искал, как этого добиться, но все ответы фильтрация на основе object_id как

content_type = ContentType.objects.get_for_model(ChildModel)
GenericModelDemo.objects.filter(content_type=content_type, object_id=child.id)

Но это не решает мой запрос.

Как я могу фильтровать, используя поля внешнего ключа generi c вместо просто идентификатор?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...