Assign User to Group Automatically
A snippet for adding users to a default group upon signup or creation.
# signals.py
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.contrib.auth.models import User, Group
@receiver(post_save, sender=User)
def add_user_to_default_group(sender, instance, created, **kwargs):
if created:
group, _ = Group.objects.get_or_create(name='Members')
instance.groups.add(group)
# apps.py
from django.apps import AppConfig
class YourAppConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'your_app'
def ready(self):
import your_app.signals
# Django Admin
1. Go to /admin/auth/group/
2. Create a group named "Members"
3. Assign permissions to the group as needed
Explanation:
-
A
post_savesignal is triggered every time a newUseris created. -
We check if the user was just created, then add them to a group called
Members. -
If the group doesn't exist, it will be created automatically using
get_or_create(). -
We import the signals in
apps.pyso they're active when the app starts.
- Category Authentication & Authorization
- Total Views 1099
- Last Modified 01 November, 2025
- Tags #groups #permissions #auth #registration
Previous snippet
Restrict View by Group Membership
Next snippet