【问题标题】:Django - Multiple optional ForeignKeyDjango - 多个可选外键
【发布时间】:2011-10-10 01:27:49
【问题描述】:
class Truc(models.Model):
  name = models.CharField(max_length=50, unique=True)
  machin1 = models.ForeignKey(Machin1, blank=True, null=True)
  machin2 = models.ForeignKey(Machin2, blank=True, null=True)
  machin3 = models.ForeignKey(Machin3, blank=True, null=True)

我希望将Truc 链接到一个machinmachin1machin2machin3

只有一个链接,所以这种验证:

machin1 xor machin2 xor machin3

【问题讨论】:

    标签: python django validation model foreign-keys


    【解决方案1】:

    如果它只链接到一个使用generic relation

    class Truc(models.Model):
        name = models.CharField(max_length=50, unique=True)
        content_type = models.ForeignKey(ContentType)
        object_id = models.PositiveIntegerField()
        machin_object = generic.GenericForeignKey('content_type', 'object_id')
    

    【讨论】:

    • 好的,它正在做我正在寻找的东西,但我认为我应该以不同的方式设计我的 Machin 对象。我认为他们应该简单地将(multi2multi)指向Truc
    猜你喜欢
    • 2011-04-09
    • 2012-05-22
    • 1970-01-01
    • 2020-11-13
    • 2013-01-01
    • 2021-10-31
    • 2021-06-02
    • 2013-10-25
    • 2014-02-16
    相关资源
    最近更新 更多