我在 Django 中有以下模型。我有理由不创建Animal
抽象基类。
class Animal(models.Model):
sound = "none"
def ClassType(self):
return 'animal'
class Cat(Animal):
animal_id = models.OneToOneField(Animal,parent_link=True)
sound = "meow"
def ClassType(self):
return 'cat'
class Dog(Animal):
animal_id = models.OneToOneField(Animal,parent_link=True)
sound = "bow"
def ClassType(self):
return 'dog'
我查询一组动物为
query = Animal.objects.all()
结果是必然只有 Dogs 和 Cats 的列表。但是,在调用
query[0].ClassType
我只得到animal
. “查询”中的所有对象都会在animal
我想要获取dog
或cat
取决于实例时给我。在 Python 多态世界中我不了解什么以及如何解决它?