kronoszx
3/28/2018 - 4:48 PM

Django Custom Managers

from django.db import models

from .utils import is_in_group


class ActivesManager(models.Manager):

    def get_queryset(self):
        return super(ActivesManager, self).get_queryset().filter(active=True)


class ReportUserManager(models.Manager):

    def get_queryset(self):
        pass
        #if is_in_group(user, 'user'):
        #return super(ReportUserManager, self).get_queryset().filter(reportsexperts__expert__user= user)


class UserManager(models.Manager):

    def get_queryset(self):
        return super(UserManager, self).get_queryset().filter(user__groups__name="user")


class StaffManager(models.Manager):

    def get_queryset(self):
        return super(StaffManager, self).get_queryset().filter(user__groups__name="staff")


class AdminManager(models.Manager):

    def get_queryset(self):
        return super(AdminManager, self).get_queryset().filter(user__groups__name="admin")