2014-03-31 2 views
0

나는 다음과 같은 클래스가 :어떻게 장고에서 자식 클래스 이름으로 개체를 필터링합니까?

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

장고 입력 모델에서 볼 수있는 것처럼 기본 모델 Animal에는 필터링 할 수있는 유형 필드가 있습니다. 동물원에 라이온 만 원하면 다음과 같이해야합니다. zoo.animals.filter (type = 'myapp.lion')

+0

작동하지 않습니다 ... 'ReverseManyRelatedObjectsDescriptor'객체에 'filter'속성이 없습니다. – Lara

+0

보기 코드를 표시 할 수 있습니까? 어떻게 필터링합니까? –

관련 문제