今天遇到一个bug,在django中,无论使用什么方法更新一条数据,均没作用,也不报错。
后来排查出,原来是django中不能同时调用一个model类,比如:
def fun_a():
User.objects.filter(x=1).update(y=2)
return 123
def fun_b():
user = User()
user.aa = fun_a()
user.save()
fun_b()
这时fun_a中的update是无法生效的,需要将需要更新的数据返回出来,在fun_b中一起保存:
def fun_a():
return 123, 2
def fun_b():
user = User()
user.aa, user.y = fun_a()
user.save()
fun_b()
由于方法中调用较多,排查起来比较难,以后要多多注意!