我已经为UserProfile模型声明了一个更新其他字段的信号。存储的数据来自Web服务。
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。
在保存期间有没有合理的方法来更新这些字段?
答案 0 :(得分:0)
由于您正在解析地址,因此它是一种更好的方法来处理视图中的解析,而不是作为信号。
信号通常用于对其他型号进行微小更新。
所以,你的代码可以是:
profile = get_object_or_404(UserProfile, user=instance)
profile.province = xml.duzeltilmisil #this comes from a web service
//parse the address here, and then save the models
profile.save()