Una de mis modelos tiene una bandera borrado, que se utiliza para ocultar objetos a nivel mundial:Anulación queryset defecto en Django administrador
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
¿Cómo puedo anular el conjunto de consultas por defecto utilizado por el módulo de administración de Django para incluir conversaciones eliminados?
¿Realmente necesita administradores personalizados para esas consultas simples? –
Sí, los objetos eliminados se deben ignorar universalmente (excepto en las páginas de administración), por lo que tiene sentido establecer un valor predeterminado. –