Một trong những mô hình của tôi có một lá cờ xóa, được sử dụng để ẩn các đối tượng trên toàn cầu:Override queryset mặc định trong Django quản trị
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
Làm thế nào tôi có thể ghi đè lên các queryset mặc định được sử dụng bởi mô-đun quản trị Django để bao gồm cuộc hội thoại đã bị xóa?
Bạn có thực sự cần người quản lý tùy chỉnh cho các truy vấn đơn giản đó không? –
Có, các đối tượng đã xóa sẽ bị bỏ qua phổ biến (ngoại trừ trên các trang quản trị), do đó, bạn nên đặt mặc định. –