Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 筛选继承的对象_Django_Django Models - Fatal编程技术网

Django 筛选继承的对象

Django 筛选继承的对象,django,django-models,Django,Django Models,我有一个基本的a级。两个派生类B,C。 现在我有了一个全局类,它包含一个与对象a的多对多关系 Class D: aObjects : ManyToMany("A") 如何知道过滤查询在对象D中返回的真实对象。 我的意思是:d.objects.get(id=5) 现在d有n个A类对象,但它们是A、B或C的混合体。 如何在查询中仅获取类型B的 提前谢谢 这对你有用吗 过滤器(lambda x:isinstance(x,B),d.objects.get(id=5))无法自动执行此操作。文档非

我有一个基本的a级。两个派生类B,C。 现在我有了一个全局类,它包含一个与对象a的多对多关系

Class D:
    aObjects : ManyToMany("A")
如何知道过滤查询在对象D中返回的真实对象。 我的意思是:
d.objects.get(id=5)
现在d有n个A类对象,但它们是A、B或C的混合体。 如何在查询中仅获取类型B的


提前谢谢

这对你有用吗


过滤器(lambda x:isinstance(x,B),d.objects.get(id=5))
无法自动执行此操作。文档非常清楚,无法从基类的实例判断它是否“实际上”是派生类的实例

唯一要做的是在基类上定义一个字段,显示它是什么派生类型,并在各种派生类的
save()
方法中自动设置该字段。然后可以根据此字段的值进行筛选