在没有原始sql的DJANGO中乘以三个表
我在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
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命令