开发者

Django query with related models

开发者 https://www.devze.com 2022-12-23 00:49 出处:网络
For the below models: class Customer(models.Model): id = models.IntegerField(primary_key=True) class OrderA(models.Model):

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)


select_related() will pre-populate the appropriate attributes:

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.

I've written about a technique to do it in this direction on my blog (sorry about the plug).

0

精彩评论

暂无评论...
验证码 换一张
取 消