Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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
在没有原始sql的DJANGO中乘以三个表_Sql_Django_Django Models - Fatal编程技术网

在没有原始sql的DJANGO中乘以三个表

在没有原始sql的DJANGO中乘以三个表,sql,django,django-models,Sql,Django,Django Models,我在Django有三个模型,我们可以这样计划: class A(models.Model): b = models.ForeignKey(B, on_delete=models.CASCADE) class B(models.Model): c = models.ForeignKey(C, on_delete=models.CASCADE) class C(models.Model): data = models.IntegerField() 我的目标是使查询等价于:从a

我在Django有三个模型,我们可以这样计划:

class A(models.Model):
   b = models.ForeignKey(B, on_delete=models.CASCADE)

class B(models.Model):
   c = models.ForeignKey(C, on_delete=models.CASCADE)

class C(models.Model):
   data = models.IntegerField()
我的目标是使查询等价于:从a、B、C中选择*,其中a.B=B.id和B.C=C.id


我的问题是:有没有一种不使用原始sql进行查询的方法?

您确定这是正确的逻辑,因为a.b将返回一个类b对象,而b.id将返回一个整数,比较它们将返回一个错误。是的,Zhivko Zaikov,因为“select*from a,b,C,其中a.b=b.id和b.C=C.id;”是一个sql命令