1

我有 2 张桌子说 A 和 B

class A(models.Model):
  A_val= models.DecimalField(max_digits=4, decimal_places=0)
  A_name= models.CharField(max_length=32, blank=True)
  A_type= models.CharField(max_length=32, blank=True)
  unique_together(A_val,A_name)

 class B(models.Model):
    A_val=models.ForeignKey(A)
    A_name=models.ForeignKey(A)

现在我想要

select * from B,A where A.A_val=B.A_val and A.A_name=B.B_name and A_type="typename"

我按照 miki725 的指示做了以下事情来实现这一点

B.objects.filter(A_name__A_type='type_name').select_related('A_name', 'A_val')

但这相当于

select * from B,A where A.A_name=B.B_name and A_type="typename"

它忽略A.A_val=B.A_val。我希望加入基于所有 3 个条件。我怎样才能做到这一点

4

0 回答 0