【问题标题】:How to store a reference to model type in another model instance如何在另一个模型实例中存储对模型类型的引用
【发布时间】:2011-12-01 21:01:51
【问题描述】:

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

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 向导!

【问题讨论】:

    标签: django model reference instance meta


    【解决方案1】:

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

    【讨论】:

    • 我想是的。老实说,在阅读了这里的答案和相关文档后,我又回到了绘图板上——但这是件好事,对吧?谢谢!
    【解决方案2】:

    如果你只是想保存另一个对象的实际模型,你可以简单地使用一个外键到一个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
    

    【讨论】:

      猜你喜欢
      • 2012-08-05
      • 2015-02-27
      • 2018-06-17
      • 1970-01-01
      • 2019-08-01
      • 2014-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多