Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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
按2个条件订购django查询集_Django_Django Queryset - Fatal编程技术网

按2个条件订购django查询集

按2个条件订购django查询集,django,django-queryset,Django,Django Queryset,我有一个django模型,其中有两个字段 class Entry(models.Model): #other fields date = models.DateField() user = models.ForeignKey(User) 我想重试所有用户模型,按用户字母顺序排列,然后按日期升序排列。这样行吗 entries = Entry.objects.all().order_by('user').order_by('date') 但我认为情况并非如此。上述命令的结

我有一个django模型,其中有两个字段

class Entry(models.Model):
    #other fields
    date = models.DateField()
    user = models.ForeignKey(User)
我想重试所有用户模型,按用户字母顺序排列,然后按日期升序排列。这样行吗

entries = Entry.objects.all().order_by('user').order_by('date')

但我认为情况并非如此。上述命令的结果是按日期排序的条目,而不是按用户排序的条目,因为按“日期”排序的订单是在链中最后调用的。对的如何使用to条件对查询集进行排序?

如果希望用户按字母顺序排列,则必须按用户名而不是id进行排序,如:

Entry.objects.order_by('user__first_name', 'date')

如果希望用户按字母顺序排列,则必须按用户名而不是id排序,如:

Entry.objects.order_by('user__first_name', 'date')

我不知道order_by可以接受两个或更多参数。这将按字母顺序排列,然后按日期排列?因此,所有条目的名字都是以首字母开头,但条目是按时间顺序排列的,等等?我不知道order\u by可以包含两个或更多参数。这将按字母顺序排列,然后按日期排列?因此,所有条目的名字都将以首字母开头,但条目是按时间顺序排列的,等等?