如何在另一个模型实例中存储对模型类型的引用

时间:2011-12-01 21:01:51

标签: django model reference instance meta

所以这是meta meta中的一个小练习。我希望能够将模型引用存储为与另一个模型关联的表中的行。像这样:

class Widget(models.Model):
  related = models.Model() # data model associated with this widget
  identifier = models.CharField(max_length=500) # human-friendly descriptor

这不会验证..我找到了acceptable workaround,但我想知道是否有更合适/更优雅的方法。

谢谢,django巫师!

2 个答案:

答案 0 :(得分:3)

如果我正确理解您的问题,那么GenericForeignKey就是您所需要的。你看过了吗?

答案 1 :(得分:0)

如果您只想保留另一个对象的实际模型,可以简单地使用外键来content type

from django.contrib.contenttypes.models import ContentType
class Widget(models.Model):
    related = models.ForeignKey(ContentType)
    identifier = models.CharField(max_length=500) # human-friendly descriptor