Я хочу реализовать автоматическое создание группы пользователей, и добавление пользователя в эту группу в Django
Я хочу реализовать автоматическое создание группы пользователей, и добавление пользователя в эту группу в Django, при первом запуске проекта, в чистой БД.
Сейчас приходится вручную создавать группы пользователей, назначать имена групп и их привилегии.
На просторах интернета нашел это решение, но оно не совсем подходит для меня
Что уже имеется: Модель Author
class Author(models.Model):
author_user = models.OneToOneField(User, on_delete=models.CASCADE, verbose_name=_(
'The user who becomes the author'))
rating = models.SmallIntegerField(default=0, verbose_name=_('Authors rating'))
def update_rating(self):
postRat = self.post_set
pRat = 0
pRat += postRat.get('postRating')
commentRat = self.author_user.comment_set
cRat = 0
cRat += commentRat.get('commentRating')
self.ratingAuthor = pRat * 3 + cRat
self.save()
def __str__(self):
return str(self.author_user)
class Meta:
verbose_name = _('Author')
verbose_name_plural = _('Authors')
Пустая группа пользователей, возможность вручную добавить пользователя в модель автора, кнопка на главной странице, которая появляется в том случае, если пользователь авторизован, и еще не является автором. (но она не работает)
views.py
@login_required
def upgrade_me(request):
user = request.user
authors_group = Group.objects.get(name='authors')
if not request.user.groups.filter(name='authors').exists():
authors_group.user_set.add(user)
return redirect('/')
