2013-07-05 78 views
0

我有這樣一個模型在Django:如何使用特定值對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的值將首先出現。我希望這個在模板中顯示。我怎樣才能做到這一點?

+0

我不確定你想要什麼。看來你想通過'make_default'命令,但同時你想在模板上顯示所有這些,你希望for循環以保持這個順序的方式進行循環,並且我正確嗎? –

+0

是的。但是當我做循環時,我想先用make_default = 1顯示數據。 – user2545177

+0

然後第一個答案會爲你做。試試看。 –

回答

0

所有你需要做的是這樣的:

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

我認爲回答您的問題來自評論。

1

如果要排序的查詢,你應該使用ORDER_BY()函數,例如:

all_server_id = Session.objects.filter(user_id=request.user.id).order_by('make_default') 
相關問題