Получение имени пользователя django перед его редактированием

Я использую сигнал django для отправки сообщения в API на основе имени пользователя. Если пользователь не существует, он создает нового и постит в API. Если я редактирую пользователя, я не могу получить доступ к старому имени пользователя, чтобы изменить API. Я также пробовал использовать pre_save, но безрезультатно. Допустим, имя пользователя Nick, если пользователь не существует, он создает API, если nick меняет свое имя на NickyXX, когда я делаю username = instance.username я получаю NickyXX, поэтому я не могу получить доступ к API. Я знаю, что мой подход неправильный, но я не знаю, как получить оригинальное имя пользователя.

@receiver(post_save, sender=User)
def create_profile(sender, instance, created, **kwargs):
    username  = instance.username
    if created:
        Profile.objects.create(user=instance)

        ### API SCRIPT ###
        ..............
        ################### CREATE A NEW USER  ###################
        url = 'http://...'
        myobj = {
        "organization": {
            "canHaveGateways": True,
            "displayName": instance.username,
            "name": instance.username
        }
        }
        x = requests.post(url,json = myobj)
        x = x.json()
        print(x)
        orgID = x["id"]
        print(orgID)

    else:
       
         instance.profile.save()    
         ################### FIND USERNAME ################### 
         url = '...&search=' + username
         x = requests.get(url)
         x = x.json()
         print(x)
         ################### EDIT ################### 
         myobj = {
           "organization": {
               "displayName": username,
               "name": username
           }
         }
         x = requests.put(url, json = myobj)
Вернуться на верх