我有 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 个条件。我怎样才能做到这一点