首页 > 解决方案 > 生成基于外部的查询集

问题描述

我目前有三个模型,即服务、客户和订单,如下所示


class Customer(models.Model):

    user = models.OneToOneField(User,on_delete=models.CASCADE)
    name = models.CharField(max_length=200, null=True)

    def __str__(self):
        return self.user.email

class Services(models.Model):

    name = models.CharField(max_length=200, null=True)
    price = models.FloatField(null=True)


class Order(models.Model):

    customer = models.ForeignKey(Customer, null=True, on_delete = models.SET_NULL)
    service = models.ForeignKey(Service, null=True, on_delete = models.SET_NULL)

如图所示,Order 模型具有来自 Customer 和 Service 模型的外键。

当我从服务和客户构建查询集时。

Service.objects.all()

或者

Customer.objects.all()

如何通过基于订单模型访问查询集获得相同的结果?

目前我正在创建查询集,如下所示

Order.objects.all().values('service')

Order.objects.all().values('customer')

但是,如果我这样做,我不会收到相同的结果

Service.objects.all()

或者

Customer.objects.all()

我怎样才能有一个基于订单模型的查询集来接收来自服务和客户的查询集的结果,如上所示?

标签: pythondjangodjango-modelsdjango-views

解决方案


推荐阅读