From 89fb6186988ec89291e16792deb767178123b44e Mon Sep 17 00:00:00 2001 From: sosokker Date: Mon, 6 Nov 2023 18:34:41 +0700 Subject: [PATCH] Use signal to create UserStats Instead --- backend/users/apps.py | 3 +++ backend/users/models.py | 4 ---- backend/users/signals.py | 9 +++++++++ 3 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 backend/users/signals.py diff --git a/backend/users/apps.py b/backend/users/apps.py index 72b1401..434524e 100644 --- a/backend/users/apps.py +++ b/backend/users/apps.py @@ -4,3 +4,6 @@ from django.apps import AppConfig class UsersConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'users' + + def ready(self): + import users.signals \ No newline at end of file diff --git a/backend/users/models.py b/backend/users/models.py index 56d6432..c2eb9fd 100644 --- a/backend/users/models.py +++ b/backend/users/models.py @@ -31,10 +31,6 @@ class CustomUser(AbstractBaseUser, PermissionsMixin): USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['username', 'first_name'] - def save(self, *args, **kwargs): - UserStats.objects.get_or_create(user=self) - super(CustomUser, self).save(*args, **kwargs) - def __str__(self): # String representation of the user return self.username diff --git a/backend/users/signals.py b/backend/users/signals.py new file mode 100644 index 0000000..817986b --- /dev/null +++ b/backend/users/signals.py @@ -0,0 +1,9 @@ +from django.db.models.signals import post_save +from django.dispatch import receiver + +from users.models import CustomUser, UserStats + +@receiver(post_save, sender=CustomUser) +def create_user_stats(sender, instance, created, **kwargs): + if created: + UserStats.objects.create(user=instance) \ No newline at end of file