2012-06-20 77 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价值的狗的模型。我怎样才能做到这一点?

现在,我知道这是一个不寻常的/笨拙的模式,但我并没有参与其创造,我也无法改变它。我只需要支持它。我正在为现有数据库编写这些模型。

回答