Я объявил сигнал для модели UserProfile, которая обновляет некоторые другие поля. Сохраненные данные поступают из веб-службы.Обновить другие поля во время сохранения
post_save.connect(user_profile_update, sender=UserProfile)
в user_profile_update, я сделал это:
profile = get_object_or_404(UserProfile, user=instance)
profile.province = xml.duzeltilmisil #this comes from a web service
profile.save()
и я получил эту ошибку:
'NoneType' object is not callable
profile.save()
Там является другая ошибка, но то, что я сделал также рекурсивный. Когда я обновляю UserProfile, он должен снова запускать user_profile_update.
Есть ли разумный способ обновить эти поля во время сохранения?
отключить сигнал, и посмотреть, если ошибка все еще происходит – karthikr
karthikr, пользователь вводит почтовый адрес, как обычный текст, вебсервис разбирает его, и это дает мне город, район и т. д. информацию об адресе, и я хочу сохранить эту информацию сразу после обновления. поэтому я думаю, что мне нужен этот сигнал. если я отключу сигнал, я не получу никакой ошибки, но адрес не будет разобран. – cem
Зачем вам нужен сигнал для синтаксического анализа? Вы можете справиться с этим лучше с вашего взгляда. Сигналы хороши только для небольших обновлений, а не для реализации логики – karthikr