2014-07-20 99 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作爲表列。 –

回答