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

时间:2013-07-05 07:16:10

标签: 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 = 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()

我正在使用此查询来获取所有server_id:

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

我希望对查询进行排序,使得make_default = 1的值首先出现。我希望这在模板中显示。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

你所要做的就是:

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

我相信会从评论中回答你的问题。