2010-01-17 86 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))