Получение имени пользователя 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)