简体   繁体   English

Django查询及相关模型

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM