我有一些像这样的 Django 模型:
class Customer(models.Model):
name = models.CharField(max_length=100)
class Order(models.Model):
title = models.CharField(max_length=100)
...
customer = models.ForeignKey(Customer, on_delete=models.CASCADE, related_name='orders')
我想获取特定客户订单的查询集。
我应该使用它吗?:
Order.objects.all().filter(customer_id)
或者它?:
customer_object.orders.all()
为什么?
答案 0 :(得分:0)
如果你有客户的id,你可以像下面这样使用它:
Order.objects.all().filter(customer__id=id)
或者如果你有客户相关的对象,你可以直接传递它:
customer = ...
Order.objects.all().filter(customer=customer)
这是一种方法。它可以根据您希望应用程序的执行方式而改变。