首页 > 解决方案 > Django:从相关模型中查询数据

问题描述

我使用 Django 3.2.7,我想查询客户的所有订单。

模型.py

class Order(models.Model):
    STATUS=(
        ('Pending','Pending'),
        ('Out for Delivery','Out for delivery'),
        ('Delivered','Delivered'),
    )
    customer = models.ForeignKey(Customer,null=True, on_delete=models.SET_NULL)
    product = models.ForeignKey(Product,null=True, on_delete=models.SET_NULL)
    date_created = models.DateTimeField(auto_now_add=True)
    status = models.CharField(max_length=200, null=True, choices=STATUS)

视图.py

def customer(request,pk):
    customer = Customer.objects.get(id=pk)
    orders = customer.order_set.all()
    

    my_context={
        'customer':customer,
        'orders':orders
    }
    return render(request, 'accounts/customer.html', context=my_context)

网址.py

path('customer/<str:pk>/', views.customer),

模板

 {% for order in orders %}

                <tr>
                    <td>
                        {order.product}
                    </td>
                    <td>
                        {order.product.category}
                    </td>
                    <td>
                        {order.date_created}
                    </td>
                    <td>
                        {order.status}
                    </td>
                    <td><a href="">Update</a></td>
                    <td><a href="">Delete</a></td>
                </tr>

                {% endfor %}

我的问题是,不是在模板上打印实际数据而是打印查询数据。

我认为问题出在

orders = customer.order_set.all()

我究竟做错了什么?

在此处输入图像描述

标签: pythondjango

解决方案


推荐阅读