Request.user.group возвращает auth.Group.None для пользовательской модели пользователя Django
Создал пользовательскую модель пользователя, изначально без PermissionsMixin, потом понял, что она мне понадобится, и добавил. Makemigrations, migrate - done.
class UserProfile(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(
verbose_name='email address',
max_length=255,
unique=True,
)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['first_name', 'last_name']
first_name = models.CharField(max_length=50, blank=True, null=True)
middle_name = models.CharField(max_length=50, blank=True, null=True)
last_name = models.CharField(max_length=50, blank=True, null=True)
[..]
Решение, работает частично. Я могу добавить пользователя в группу, db обновляется, видно отношение, но user.groups возвращает None. Что я делаю не так? Как устранить неполадки?
for group in Group.objects.filter():
print(group, group.id)
request.user.groups.add(Group.objects.get(id=2))
print(Group.objects.get(user=request.user))
print(request.user.groups)
выводит:
individual_customers 1
business_customers 2
staff 3
business_customers
auth.Group.None
Группы разрешений в Django - это отношения "многие ко многим", поэтому вам нужно называть их так:
request.user.groups.all()
Он должен возвращать набор запросов со всеми групповыми разрешениями, которые связаны с пользователем