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 Templates_Django Queryset - Fatal编程技术网

如何使用特定值对django查询进行排序?

如何使用特定值对django查询进行排序?,django,django-templates,django-queryset,Django,Django Templates,Django Queryset,我在Django有一个这样的模型: class Session(models.Model): user = models.ForeignKey(User) session_name = models.CharField(max_length=254) server_full_path = models.CharField(max_length=254) # Contains server server_name = mo

我在Django有一个这样的模型:

 class Session(models.Model):
        user = models.ForeignKey(User)
        session_name = models.CharField(max_length=254)
        server_full_path = models.CharField(max_length=254)      # Contains server
        server_name = models.CharField(max_length=254)           #Server Name or IP
        file_path = models.CharField(max_length=254)             #full file path
        source_username = models.CharField(max_length=100)
        source_password = models.CharField(max_length=100)
        make_default = models.BooleanField()
我正在使用此查询获取所有服务器\u id:

all_server_id = Session.objects.filter(user_id=request.user.id)

我希望对查询进行排序,使make_default=1的值首先出现。我想在模板中显示这个。如何执行此操作?

如果要对查询进行排序,应使用order_by()函数,例如:

all_server_id = Session.objects.filter(user_id=request.user.id).order_by('make_default')

你所要做的就是:

all_server_id = Session.objects.filter(user_id=request.user.id).order_by('-make_default')

我相信这些评论回答了你的问题。

我不确定你想要什么。似乎您希望按
设置默认值进行排序,但同时您希望在模板上显示所有这些内容,您希望for循环以保留此顺序的方式循环,我更正了?是的。但是,当我执行for循环时,我希望首先显示make_default=1的数据,然后第一个答案将为您执行此操作。试试看,怎么会不行呢?尝试使用此
all\u server\u id=Session.objects.filter(user\u id=request.user.id)。order\u by('-make\u default')
make_default
不是一个布尔字段吗?是的,它是一个布尔字段,在放入“-”之后,它起作用了。谢谢你,伙计!