django update 失敗

今天遇到一個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()

由於方法中調用較多,排查起來比較難,以後要多多注意!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章