python - 生成基于外部的查询集
问题描述
我目前有三个模型,即服务、客户和订单,如下所示
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()
我怎样才能有一个基于订单模型的查询集来接收来自服务和客户的查询集的结果,如上所示?
解决方案
推荐阅读
- excel - 如何在数据透视表中检查今天并取消选中前一天
- html - 天线屋中的目录 - CSS 格式问题
- apache-kafka-streams - 如何配置 Kafka Streams/Kafka 以实现事件之间间隔较长的间歇性事件流?
- json - 如何将 JSONDecoder 与多种可能的数据结构一起使用
- python - Python 请求:传递 Auth 令牌
- azure - 如何在 Azure Web App 上获取 SSL 的静态 IP 地址
- linux - 如何在没有后续目录的情况下压缩目录中的文件?
- angular - 在 Angular NGXS 中取消订阅
- objective-c - Cocoa获取用户所有登录项的列表和路径
- ios - Crashlytics 未收到来自 TestFlight 的崩溃