好的,我的数据库具有标题/行类型结构,其中有许多行模型的标题模型。这个结构在许多模型上都存在。我想跟踪哪些标题模型与哪些行模型相关。
最初,我只是在标题模型上有一个指向相关模型的属性,但希望将其存储在数据库中。
因此,我以前使用过Django的GenericForeignKey
,但仅当我想要与多个模型记录建立外键关系而不仅仅是模型本身时才使用。
使用GenericForeignKey
需要三件事:
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
在我的情况下,我不需要
object_id
,但是我认为我不能把它省略掉...所以经过这一切,我想问的问题是,使用
GenericForeignKey
是设置此模型的最佳方法吗,还是有其他解决方案。另一个想法就是只使用模型名称...
希望这一切都说得通。谢谢。
ForeignKey
中引用ContentType
即可满足你的需求。 - Bernhard Vallantcontent_type
的字段,只存储模型的内容类型 ID 吗? - neolaser