我有两张表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个条件。我该怎么做