2012-06-20 74 views
3

我有兩個模型是相似的,但不完全相同。這是我能想出的問題的最佳抽象。Django模型與外鍵到兩種可能的模型之一

class Cat(models.Model): 
    name = models.TextField() 
    breed = models.TextField() 

class Dog(models.Model): 
    name = models.TextField() 
    color = models.TextField() 

現在我需要做出這樣的另一個模型。

class Pet(models.Model): 
    favoriteFood = models.TextField() 
    isCat = models.BooleanField() 
    animal = models.ForeignKey(?????????) 

我的問題是,寵物模型的動物領域將是一個外鍵無論是貓還是取決於isCat價值的狗的模型。我怎樣才能做到這一點?

現在,我知道這是一個不尋常的/笨拙的模式,但我並沒有參與其創造,我也無法改變它。我只需要支持它。我正在爲現有數據庫編寫這些模型。

回答