Django ForeignKey OR声明

时间:2014-07-20 07:23:10

标签: django foreign-keys multiple-models

我检查了这是否可行,但文档未提供。我也没有看到任何似乎可以解决这个问题的问题。

我有一个模特:

class CreditCard(models.Model):

    NAME = models.CharField(max_length = 55)
    TYPE = models.CharField(max_length = 12)
    NUMBER = models.CharField(max_length = 16, primary_key=True)
    CCV2 = models.CharField(max_length = 4)
    EXPMONTH = models.CharField(max_length = 2)
    EXPYEAR = models.CharField(max_length=4)
    **USER_ID = models.ForeignKey(User, to_field="USER_ID")**
    ADDRESS = models.ForeignKey(Address, to_field="ADDRESS_ID")

有问题的字段用星号包围。

我希望这个字段能够引用类似于ForeignKey OR语句的两个表中的一个:

USER_ID = models.ForeignKey(User OR Merchant, to_field="USER_ID" OR "MERCHANT_ID")

这可能吗?如果是这样,它是如何完成的?

1 个答案:

答案 0 :(得分:0)

我认为generic relation是按Kevin Christopher Henry所述的方式进行的。 如果您需要限制您可以选择的this answer suggests