2014-03-31 86 views
0

我有以下類別:如何通過Django中的子類名稱篩選對象?

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


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

class Tiger(Animal): 
    .... 

class Lion(Animal): 
    .... 

我怎麼能在類名過濾動物園的獅子?問題是因爲有時我只想過濾獅子座動物園,例如...

注意:在我的上下文中,我不知道動物的名稱或ID只有型號名稱。

+0

您是否使用django-typed-models? –

+0

是的,我正在使用! – Lara

回答

0

從我在django-typed-models中看到的基本模型Animal包含一個可以過濾的類型字段。 如果你只想在動物園裏的獅子,你應該這樣做: zoo.animals.filter(type ='myapp.lion')

+0

不工作...'ReverseManyRelatedObjectsDescriptor'對象沒有'過濾器'屬性 – Lara

+0

你可以顯示視圖的代碼嗎?你如何過濾? –

相關問題