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

问题描述 投票:0回答:2

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

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

这并不能验证..我找到了一个可接受的解决方法,但我想知道是否有更合适/优雅的方法来做到这一点。

django model reference instance
2个回答
3
投票

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


0
投票

如果您只想保存另一个对象的实际模型,您可以简单地使用内容类型的外键:

from django.contrib.contenttypes.models import ContentType
class Widget(models.Model):
    related = models.ForeignKey(ContentType)
    identifier = models.CharField(max_length=500) # human-friendly descriptor
© www.soinside.com 2019 - 2024. All rights reserved.