Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django按相关字段筛选_Django_Django Models_Django Orm - Fatal编程技术网

Django按相关字段筛选

Django按相关字段筛选,django,django-models,django-orm,Django,Django Models,Django Orm,我有一些像这样的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_

我有一些像这样的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()

为什么呢?

如果您有客户的id,您可以按如下方式使用:

Order.objects.all().filter(customer__id=id)
或者,如果您有与客户相关的对象,您可以直接传递它:

customer = ...
Order.objects.all().filter(customer=customer)

这是一种方法。它可以根据您希望应用程序的执行方式进行更改。

您希望从何处获取客户订单?例如,在视图中。如果您已经拥有客户对象,则第二种选择会更好