У меня есть модель с 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 вместо просто идентификатор?