我有两个相似的模型,但不完全相同。这是我能想到的问题的最佳抽象。
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(?????????)
我的问题是 Pet 模型的 animal 字段将成为 Cat 或 Dog 模型的外键,具体取决于 isCat 的值。我怎样才能做到这一点?
现在,我首先知道这是一个不寻常/尴尬的模式,但我没有参与它的创建,也无法更改它。我只需要支持它。我正在为现有数据库编写这些模型。