1. 程式人生 > >django一次修改表中多個數據報'QuerySet' object has no attribute 'save'錯誤解決辦法

django一次修改表中多個數據報'QuerySet' object has no attribute 'save'錯誤解決辦法

django中如果想修改資料庫表中的資訊,首先的查詢到對應的資料。 如果查詢條件查詢到的資料有多條,如

# 能夠查詢到兩條資料
person=Person.objects.filter(p_age=9)

而且也想同時修改這兩條資料的話,如果使用:

person.p_age=34
person.p_name='張三'
# 修改完之後儲存才能生效
person.save()

儲存完之後,在網頁開啟顯示修改成功的資訊

return HttpResponse("修改成功")

但是,啟動服務之後,在瀏覽器開啟會報錯 這裡寫圖片描述 提示說’QuerySet’ object has no attribute ‘save’,也就是說person是一個集合QuerySet,集合的話就沒有“save”這個屬性。 如果想要儲存一個QuerySet的每一小項並確保每個例項都執行save()命令,不需要任何特別的函式。需要的是直接對其執行迴圈語句並且發出save()命令即可。

for i in range(len(person)):
        person[i].p_name='李四'
        person[i].p_age=123
        person[i].save()

重新整理服務之後,再開啟瀏覽器輸入地址就能修改成功了