日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django新增数据

發布時間:2023/12/20 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django新增数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Django新增數據

方式一

增加是比較簡單的操作,Django的ORM可以使用如下的方式新增一條數據。

from book.models import BookInfo book = BookInfo(name="Django教程",readcount=0,commentcount=0) # 創建BookInfo對象 book.save() # 使用save方法保存到數據庫

Django做的比較優雅的事情是:Django的一個model類對應數據庫中一張表,而該類的對象則對應于數據表中的一條數據,這樣的抽象是比較合理的。

注意:

使用save()方法保存新對象的時候,不要指定主鍵的值。因為在你調用 save() 之前,沒有辦法表中的 id 的值應該是多少,因為這個值是由你的數據庫計算出來的,而不是由 Django 計算出來的。save()方法也被用來更新數據,如前所述,如果你在保存新對象的時候指定了主鍵的值,如果這個值在數據庫中已經存在,那么插入操作,就變成了更新操作。

方式二

除了上面的方式之外,還可以使用Model.objects的方法來實現新增一條數據。

Django每個非抽象的 Model 類必須有一個 Manager 實例添加到其中。Django 確保在你的模型類中至少指定了一個默認的 Manager。如果你沒有添加自己的 Manager,Django 會添加一個屬性 objects,包含默認的 Manager 實例。如果添加自己的 Manager 實例屬性,則不會出現默認的。

Manager 是一種接口,它賦予了 Django 模型操作數據庫的能力。Django 應用中每個模型擁有至少一個 Manager,就是默認的objects.

以上這些描述來自Django官方文檔。之后再寫一篇文章詳細解釋這些東西,現在只需要知道默認的Manager是objects,它能賦予Django模型操作數據庫的能力。

objects管理器提供了create()方法,可以一步到位直接將數據保存至數據庫。例如:

from book.models import BookInfo BookInfo.objects.create(name="Python教程",readcount=0,commentcount=0)

注意:

如果你的新增操作包含了一個你手動設置的主鍵值,而且如果這個值已經存在于數據庫中,那么對 create() 的調用就會以一個 IntegrityError 失敗,因為主鍵必須是唯一的。如果必須使用手動主鍵,那么要做好處理異常處理。和save()一樣,通常情況下,不要去指定主鍵的值。

總結

以上是生活随笔為你收集整理的Django新增数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。