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()

由于方法中调用较多,排查起来比较难,以后要多多注意!

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