2013-09-24 107 views
1

我有這樣的模型篩選與booleanfields值

Post (models.Model): 
recommended = models.BooleanField (default=False) 

,當我得到的所有對象從模型我有

posts = Post.objects.all() 
posts.count() # show equals to 18 

posts[0].recommended # equals to False 

但是當我嘗試通過推薦的標籤對其進行過濾,我得到總數等於0即使在型號中,它們都具有與我在過濾器中請求的值相同的值

posts = Post.objects.filter(recommended=False) 
posts.count() # show equals to 0 

看起來像沒有任何值在這一領域,因爲如果你想獲取該要麼虛假或NULL值對象之前,我做這個領域模型

+0

你如何將對象插入數據庫? – Jordan

+0

也許'Post.objects.filter(recommended__exact = False)'? – Cartucho

+0

執行'print posts.query'併發布它。 – mariodev

回答

0

,你可以做這樣的VAS裝箱:

Post.objects.exclude(recommended=True) 

雖然我寧願建議通過發出UPDATE查詢,將改變所有NULLFalse(從Django中殼做)修復您的數據庫:

Post.objects.filter(recommended__isnull=True).update(recommended=False) 

這將是也很好地改變你的表格,包括NOT NULL列定義。