Как обновить модель пользователя в Django с помощью signals.py

как я могу обновить имя_и фамилию_пользователя в Django с помощью signals.py, когда новый пользователь обновляет имя_и фамилию в пользовательской форме регистрации?

Это мой signals.py для создания пользовательской отдельной модели данных пользователя с помощью Django

@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_profile_handler(sender, instance, created, **kwargs):
    if not created:
        return
    profile = models.Profile_user(user=instance, first_name=instance.first_name, last_name=instance.last_name, email=instance.email)
    profile.save()

Теперь я хочу обновлять settings.AUTH_USER_MODEL, когда новый пользователь обновляет свои имя_и фамилию, используя пользовательскую форму регистрации

В соответствии с вашим кодом выше :

  1. В вашем models.py есть модель Profile_user, которую вы создаете, если создается новый экземпляр AUTH_USER_MODEL.

Ваше требование заключается в том, что если модель Profile_user обновляется с именем и фамилией, вы хотите обновить и экземпляр AUTH_USER_MODEL.

Решение: В файле signals.py

@receiver(post_save, sender=models.Profile_user)
def update_auth_user_model_handler(sender, instance, created, **kwargs):
    if created:
        return
    user_instance = instance.user
    user_instance.first_name = instance.first_name
    user_instance.last_name = instance.last_name
    user_instance.save()
Вернуться на верх