Я использую Allauth и пытаюсь:
1- Создавать группы пользователей в моем коде (не в командной строке). Я нашел следующий код, который, как мне кажется, сделает это, но я не знаю, где именно в моем проекте его разместить (также, правильно ли выглядит этот код?).
from django.contrib.auth.management import create_permissions
def create_group(apps, schema_editor):
for app_config in apps.get_app_configs():
create_permissions(app_config, apps=apps, verbosity=0)
# I dont understand this piece of code
group, created = Group.objects.get_or_create(name='registered_users')
if created:
add_thing = Permission.objects.get(codename='add_thing')
group.permissions.add(add_thing)
group.save()
2- Я желая добавлять пользователей в группу при регистрации (а не вручную). Я нашел этот код, который мне кажется правильным, но я не уверен, куда его поместить (в пользователях / сигналах? Также, этот код выглядит нормально?).
# set group to registered_user
@receiver(post_save, sender=User)
def set_group(sender, instance, created, **kwargs):
if created:
group = Group.objects.get(name='registered_users')
instance.groups.add(group)
instance.save()
Большое спасибо.