对于以下型号:
class Customer(models.Model):
id = models.IntegerField(primary_key=True)
class OrderA(models.Model):
name = models.CharField(max_length=20)
foo = models.FloatField()
customer = models.ForeignKey(Customer)
type = models.IntegerField()
class OrderB(models.Model):
name = models.CharField(max_length=20)
customer = models.ForeignKey(Customer)
type = models.IntegerField()
我想一次性获取所有客户对象及其相关的 OrderA 和 OrderB 对象(其中 OrderA 和 OrderB 中的类型等于 1)
请您参考如下方法:
select_related()将预填充适当的属性:
Customer.objects.filter(ordera_set__type=1, orderb_set__type=1).select_related()
