【发布时间】:2013-07-03 05:16:20
【问题描述】:
我在 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 的值首先出现。我希望它显示在模板中。我该怎么做?
【问题讨论】:
-
我不确定你想要什么。似乎您想按
make_default订购,但同时您想在模板上显示所有这些,您希望for 循环以保留此顺序的方式循环,我正确吗? -
是的。但是当我做 for 循环时,我想首先显示 make_default = 1 的数据。
-
那么第一个答案将为您完成。试试看。
-
怎么会不行呢?尝试使用这个
all_server_id = Session.objects.filter(user_id=request.user.id).order_by('-make_default')。make_default不是布尔字段吗? -
是的,它是一个布尔字段,在输入“-”之后,它就起作用了。谢谢老哥!
标签: django django-templates django-queryset