2010-01-17 85 views
0

我有一個基類A.兩個派生類B,C 現在我有一個全球性的類巫婆含有許多對許多關係到對象A.篩選繼承對象

Class D: 
    aObjects : ManyToMany("A") 

怎麼會知道真正的對象對象過濾查詢返回D. 我意思是:d.objects.get(id=5) 現在d具有n個A類對象,但它們是A,B或C的混合物。 如何才能在查詢中得到類型B的那些。

在此先感謝。

回答

0

有沒有辦法來自動執行此操作。文檔很清楚,無法從基類的實例告訴它是否應該「實際」成爲派生類的實例。

唯一要做的就是在基類上定義一個顯示它的派生類型的字段,並在各種派生類的save()方法中自動設置該字段。然後你可以過濾這個字段的值。

0

請問這對你的作品

filter(lambda x: isinstance(x, B), d.objects.get(id=5))