2014-07-20 66 views
0

我检查了这是否可能,但文档不是即将发布的。我也没有看到任何似乎解决这个问题的问题。Django ForeignKey OR语句

我有一个模型:

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或声明的一个:

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

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

+3

请参阅[通用关系](https://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/#generic-relations)上的文档。 –

+0

是的..并且不要在模型变量中使用UPPERCASES。 –

+0

只是想知道,为什么不呢?我习惯于在SQL中使用UPPERCASE作为表列。 –

回答