使用related_name的Django GenericForeignKey

时间:2014-11-20 11:53:27

标签: python django database foreign-keys

我正在尝试重构我的架构,以便当前简单ForeignKey的字段变为GenericForeignKey。所以,在我的模型中,这个:

ref_track = models.ForeignKey(Track, unique=False, related_name='posts_by_ref')

......变成了这个:

ref_content_type = models.ForeignKey(ContentType)
ref_id = models.PositiveIntegerField()
ref_object = generic.GenericForeignKey('ref_content_type', 'ref_id')

以前我在许多数据库查询中使用posts_by_ref,例如检查附加到轨道的帖子的提交状态(post对象是上述字段所在的位置)。但是,我了解使用related_name时不支持GenericForeignKey,那么还有另一种方法可以复制此行为吗?

1 个答案:

答案 0 :(得分:3)

您可以查看Reverse generic relations