Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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_Inheritance_Models_Multi Table - Fatal编程技术网

有没有办法只对一个超类进行一次查询,然后得到django中所有相应子类的列表?

有没有办法只对一个超类进行一次查询,然后得到django中所有相应子类的列表?,django,inheritance,models,multi-table,Django,Inheritance,Models,Multi Table,可能重复: 以下是在此处找到的Office文档 我知道我可以通过via查询超级餐厅的位置 p = Place.objects.filter(name="Bob's Cafe") 那么在这一点上,是否有一种方法可以检查并查看返回的对象是否也是sub-class Restaurant类型的,如果是,是否可以访问它们的子类字段 目前我所能说的是,返回的所有对象都是Place类的,它们的子类属性和方法不可用,因为该对象没有被转换为它的子类 如果这种方法不可行,那么在尝试获取包含所有子类模型的列表时

可能重复:

以下是在此处找到的Office文档

我知道我可以通过via查询超级餐厅的位置

p = Place.objects.filter(name="Bob's Cafe")
那么在这一点上,是否有一种方法可以检查并查看返回的对象是否也是sub-class Restaurant类型的,如果是,是否可以访问它们的子类字段

目前我所能说的是,返回的所有对象都是Place类的,它们的子类属性和方法不可用,因为该对象没有被转换为它的子类

如果这种方法不可行,那么在尝试获取包含所有子类模型的列表时,尝试抽象一个超类并最小化查询开销的最佳实践是什么?我知道理论上我可以对每个子类进行查询,然后将列表组合在一起,但是如果我想按日期排序列表,我必须做更多的工作

那么在这一点上,是否有一种方法可以检查并查看返回的对象是否也是sub-class Restaurant类型的,如果是,是否可以访问它们的子类字段

如果查询了位置模型,则返回的对象是不知道任何MTI关联子类的位置实例。您需要在超类上提供一个字段,以便向下链接到子类。看