我的数据建模中有一个典型的定义/实例情况。我正在尝试将GenericForeignKey
的content_type存储在另一个模型(定义模型)中,如下所示:
class IndicatorFieldInstance(models.Model):
definition = models.ForeignKey(IndicatorField)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey(definition.content_type, 'object_id')
indicator_instance = models.ForeignKey(IndicatorInstance)
我也尝试过这样:
content_object = generic.GenericForeignKey('definition__content_type', 'object_id')
这些方法似乎都不起作用。是否有可能实现这一目标?
供参考,这是定义模型:
class IndicatorField(models.Model):
name = models.CharField(max_length='255')
content_type = models.ForeignKey(ContentType)
indicator = models.ForeignKey(Indicator)
谢谢,皮特
答案 0 :(得分:1)
如果您不介意自己进行查找,那么您甚至不需要 GenericForeignKey
。只需将其作为一个属性,从相应的字段进行查找并返回模型。除非你做更多工作,否则你将失去任何反向功能,但大部分时间都不是你所关心的。