class UserProfile(AbstractBaseUser):
user_balance = models.IntegerField(default=0)

class Meta:
    swappable = 'AUTH_USER_MODEL'
    verbose_name = _('user')
    verbose_name_plural = _('user')

email = models.EmailField(_('email'), max_length=100, unique=True)
first_name = models.CharField(_('first name'), max_length=30, blank=False, null=True)
last_name = models.CharField(_('last name'), max_length=30, blank=False, null=True)
is_active = models.BooleanField(_('active'), default=False)
date_joined = models.DateTimeField(_('date joined'), default=datetime.now())
date_of_birth = models.DateTimeField(_('date_of_birth'), default=datetime.now(), null=True)

Есть такой класс UserProfile. Теперь нужно разделить их на группы. Я почитал и понял что подойдут стандартные django groups. Но я не понял как с ними работать. Мне нужно наследоваться от Groups? Как добавить группу? Как в шаблоне написать проверку на наличие группы? Как проверить в class based view что у пользователь находится в нужной группе?

Искал понятного примера - не нашел.