Как обновить модель пользователя в 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, когда новый пользователь обновляет свои имя_и фамилию, используя пользовательскую форму регистрации
В соответствии с вашим кодом выше :
- В вашем 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()