我的數(shù)據(jù)庫表中已有一個條目,我想用值12和更新它6。但出于某種原因,更新功能似乎沒有做任何事情。我不想創(chuàng)建一個新實例,我只想覆蓋已經(jīng)存在的值。PF是我的數(shù)據(jù)庫表的名稱。我知道鏈接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
1 回答

www說
TA貢獻1775條經(jīng)驗 獲得超8個贊
如果PF是您的型號名稱并且您想要更新數(shù)據(jù)庫中的記錄。
首先,您必須從需要更新的數(shù)據(jù)庫中獲取記錄。然后您可以更新該記錄。要獲取單條記錄,您可以使用get方法,然后更新相關字段并保存單條記錄。它將更新您現(xiàn)有的記錄。
更新數(shù)據(jù)庫中單個記錄的示例代碼
event1 = PF.objects.get(pk=1)
event1.pass_number = 12
event1.fail_number = 6
event1.save()
注意:這里請?zhí)鎿Q1為數(shù)據(jù)庫中存在的記錄的主鍵。
要更新多條記錄,您必須獲取所有需要更新的記錄。您可以使用它filter來過濾數(shù)據(jù),也可以使用all它來獲取所有記錄。
更新數(shù)據(jù)庫中所有記錄的示例代碼
events = PF.objects.all()
events.update(pass_number = 12, fail_number = 6)
更新數(shù)據(jù)庫中過濾記錄的示例代碼
您可以在以下鏈接中查看帶有過濾器和更新的示例。感謝 https://docs.djangoproject.com/en/3.0/ref/models/querysets/#update
添加回答
舉報
0/150
提交
取消