今天遇到一個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()
由於方法中調用較多,排查起來比較難,以後要多多注意!