我的数据库表中已有一个条目,我想用值12
和6
更新它。但是由于某种原因,更新功能似乎没有任何作用。我不想创建一个新实例,我只想覆盖已经存在的值。 PF
是我的数据库表的名称。我知道objects
都链接到表模型的pass_number
和fail_number
属性,因此我假设这两个值都将被更新。但是当我进入表格时,我仍然看到旧值。
event1 = PF(
pass_number = 12,
fail_number = 6,
)
event1.objects.update(event1)
我在终端中看到的错误是:
TypeError: update() takes 1 positional argument but 2 were given
答案 0 :(得分:2)
如果PF
是您的型号名称,并且您想更新数据库中的记录。
首先,您必须从数据库中获取需要更新的记录。然后,您可以更新该记录。
要获取单个记录,可以使用get
方法,然后更新相关字段并保存单个记录。它将更新您的现有记录。
示例代码以更新数据库中的单个记录
event1 = PF.objects.get(pk=1)
event1.pass_number = 12
event1.fail_number = 6
event1.save()
注意:在这里,请将1
替换为数据库中记录的主键。
要更新多个记录,您必须获取所有需要更新的记录。您可以使用filter
过滤数据,也可以使用all
来获取所有记录。
用于更新数据库中所有记录的示例代码
events = PF.objects.all()
events.update(pass_number = 12, fail_number = 6)
示例代码以更新数据库中的过滤记录
您可以在以下链接上查看带有过滤器和更新的示例。谢谢 https://docs.djangoproject.com/en/3.0/ref/models/querysets/#update
答案 1 :(得分:-1)
您尝试过
event1.objects.all().update(event1)