如何在Django中按子类名过滤对象?

时间:2014-03-31 10:46:09

标签: django django-models django-orm

我有以下课程:

class Zoo(models.Model):
    name ...
    address ...
    animal = models.ManyToManyField('Animal', related_name='animals')


class Animal(TypedModel):
    name ...
    description ...

class Tiger(Animal):
    ....

class Lion(Animal):
    ....

如何通过班级名称过滤动物园的狮子会?问题是因为有时候我只想用Lions过滤动物......例如......

注意:在我的上下文中,我不知道动物的名称或ID只有型号名称。

1 个答案:

答案 0 :(得分:0)

从我在django-typed-models中看到的基础模型Animal包含一个可以过滤的类型字段。 如果你想在动物园只有狮子,你应该做的事情如下:     zoo.animals.filter(类型=' myapp.lion&#39)