gpt4 book ai didi

python - django查询用于对作为外键出现的字段上的数据进行排序

转载 作者:太空宇宙 更新时间:2023-11-03 16:46:00 24 4
gpt4 key购买 nike

class abc(xyz):
user = models.ForeignKey(User, max_length=100)

根据外键字段对数据进行排序的 django 查询是什么?

我尝试使用查询:

  abc.objects.filter(User__user=user).
abc.objects.filter(Q(user__icontains=search_query) ).

我已经完成了这两个查询,但不知道如何组合并使其发挥作用

我不知道如何继续。有人可以伸出援助之手吗?

最佳答案

第一个查询不适用于您的模型。将其更改为

qs = abc.objects.filter(user=user) 

现在,按 user(或 user_id 或任何其他可行的 user 属性)对此查询集进行排序

qs = qs.order_by('user_id')

没有多大意义,因为查询集中的所有元素都具有相同的用户。

第二个查询不起作用,因为 icontains 是适用于字符串的查询,而 user 是模型实例。以下可能有效:

 abc.objects.filter(user__username__icontains=search_query)  # .order_by('user__username')

通常,您可以按具有(自然)顺序的属性进行排序,例如整数、 float 、字符串、日期等。因此,您可以按某项进行排序。例如user_iduser__usernameuser__emailuser__date_joined:

abc.objects.all().order_by('user_id')  # for instance

关于python - django查询用于对作为外键出现的字段上的数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36300792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com