[英]Django query with related models
For the below models: 对于以下型号:
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()
I want to grab all the Customer objects with their related OrderA and OrderB objects in one go for a condition (where type in OrderA and OrderB equals 1) 我想一次性获取所有Customer对象及其相关的OrderA和OrderB对象(其中OrderA和OrderB的类型等于1)
select_related()
将预先填充适当的属性:
Customer.objects.filter(ordera_set__type=1, orderb_set__type=1).select_related()
You're right in your comment to Ignacio that select_related
works in the opposite direction. 您对Ignacio的评论是正确的,
select_related
作用相反。
I've written about a technique to do it in this direction on my blog (sorry about the plug). 我已经在我的博客上写了一种朝着这个方向进行操作的技术(对插件很抱歉)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.