Django - Сигналы не вызываются из модели пользователя при создании нового пользователя - PullRequest
0 голосов
/ 29 апреля 2020

Я работаю над простым практическим проектом и использую сигналы для сохранения профиля, который является частью модели пользователя. Кажется, сигналы не получают. Хотя я не сталкивался с какими-либо ошибками, поэтому не смог отследить, в чем проблема или какие настройки мне не хватает. Я попытался использовать оператор print, и узнал, что сигналы даже не вызваны. Любой указатель, как я могу проверить, что вызывает проблему.

Пожалуйста, помогите ...

Ниже приведен код, который я использую.

#models.py
from django.contrib.auth.models import User

class Profile(models.Model): 
    user = models.OneToOneField(User, on_delete = models.CASCADE)
    image = models.ImageField(default = 'images/default.jpg', upload_to = 'images/profile_pic')

    def __str__(self):
        return f'{self.user.username} Profile'

#signals.py
from django.db.models.signals import post_save
from django.contrib.auth.models import User
from django.dispatch import receiver
from .models import Profile

@receiver(post_save, sender=User)
def create_profile(sender, instance, created, **kwargs):
    print('inside signals')
    if created:
        print('inside signals ------------------------> create method is called')
        Profile.objects.create(user = instance)


@receiver(post_save, sender=User)
def save_profile(sender, instance, **kwargs):
    instance.profile.save()

# modified the app.py to include the method ready().
from django.apps import AppConfig

class UsersConfig(AppConfig):
    name = 'users'

    def ready(self):
        import users.signals
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...