Skip to main content
 首页 » 编程设计

python之具有相关模型的 Django 查询

2025年05月04日21Renyi-Fan

对于以下型号:

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()