Django 更新表格

2 投票
3 回答
20559 浏览
提问于 2025-04-16 02:28
obj = Info(name= sub,question=response_dict["question"])
obj.save()

在保存数据后,如何更新同一个表中的另一个字段

obj.err_flag=1
obj.update()//Will this work

3 个回答

2

如果你在问题中提到的“同一个对象”或者“同一行”是指“同一张表”,那么如果你这样做

obj = Info(name= sub,question=response_dict["question"])
obj.save()

然后过几行你需要这样做

obj = Info.objects.get(name=sub)
obj.err_flag=1
obj.save()

那么 obj = Info.objects.get(name=sub) 就没有必要了。

你只需要这样做

obj = Info(name= sub,question=response_dict["question"])
obj.save()
#
#do what you want to do, check what you want to check
#
obj.err_flag=1
obj.save()
3
obj = Info(name=sub,question=response_dict["question"])
obj.save()
obj = Info.objects.get(name=sub)
obj.err_flag=1
obj.save()

然后你可能想要获取这个信息并进行更新(我假设名字是唯一标识符):

7

只需要重新保存那个实例:

obj.some_field = some_var
obj.save()

Django会自动判断什么时候在数据库中更新你的实例,什么时候插入一个新的实例。
具体的内容可以在 Django文档中找到。

撰写回答