微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Django中过滤外键

如何解决在Django中过滤外键

我正在尝试过滤外键,但是无论我从示例中使用哪种方法,它都不会呈现任何数据。这是代码

Class Customer(models.Model):

user = models.OnetoOneField(User,on_delete=models.CASCADE,related_name='customer',primary_key=True)
first_name = models.CharField(blank=True,max_length=150)
last_name = models.CharField(blank=True,max_length=150)
name = models.CharField(max_length=200,null=True)

'

class Order(models.Model)

distributor = models.ManyToManyField(settings.AUTH_USER_MODEL,)
Customer = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.SET_NULL,null=True,related_name='customer_client')

景观

def dashboard(request):
    orders = Order.objects.filter(distributor=request.user)
    customers = orders.filter(Customer_id=1)

模板(摘要

{% for customer in customers %}
                    <tr>
                        <td><a class="btn btn-sm btn-info" href="{% url 'distributor:customer' customer.user_id %}">View</a></td>
                        <td>{{customer.name}}</td>
                        <td>{{customer.email}}</td>
                    </tr>
                {% endfor %}

我正在尝试过滤从特定分销商下订单的客户,请提供帮助

解决方法

运行上面的代码,让我知道终端的结果,然后我可以帮助您进一步

def dashboard(request):
    orders = Order.objects.filter(Distributor=request.user)
    print(orders)
    customers = orders.filter(Customer_id=1)
    print(customers)
,

尝试一下:

def dashboard(request):
customers = Order.objects.filter(Distributor=request.user,Customer_id=1)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。