我的一個模型都有一個刪除標誌,它被用來在全球範圍內隱藏的對象:覆蓋默認查詢集
class NondeletedManager(models.Manager):
"""Returns only objects which haven't been deleted"""
def get_query_set(self):
return super(NondeletedManager, self).get_query_set().exclude(deleted=True)
class Conversation(BaseModel):
...
deleted = models.BooleanField(default=False)
objects = NondeletedManager()
all_conversations = models.Manager() # includes deleted conversations
我如何可以覆蓋Django管理模塊用於包括刪除對話的默認查詢集?
您是否真的需要這些簡單查詢的自定義管理器? –
是的,刪除的對象應該被普遍忽略(管理頁面除外),所以設置默認值是有意義的。 –