Skip to content

Instantly share code, notes, and snippets.

@guilhermecarvalhocarneiro
Created August 4, 2020 10:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save guilhermecarvalhocarneiro/68df0bfa5e8a2067ea4313383d7c0ce4 to your computer and use it in GitHub Desktop.
Save guilhermecarvalhocarneiro/68df0bfa5e8a2067ea4313383d7c0ce4 to your computer and use it in GitHub Desktop.
Manager
class BaseManager(models.Manager):
"""Sobrescrevendo o Manager padrão. Nesse Manager
os registros não são apagados do banco de dados
apenas desativados, atribuindo ao campo deleted = True e
enabled = True
"""
def get_queryset(self):
"""Sobrescrevendo a queryset para filtrar os
registros que foram marcados como deleted
"""
queryset = super(BaseManager, self).get_queryset()
if ((hasattr(self.model, '_meta') and hasattr(self.model._meta, 'ordering') and self.model._meta.ordering) or
((hasattr(self.model, 'Meta') and hasattr(self.model.Meta, 'ordering') and self.model.Meta.ordering))):
queryset = queryset.order_by(
*(self.model._meta.ordering or self.model.Meta.ordering))
return queryset.filter(deleted=False)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment