欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

django的model操作匯整詳解

 更新時間:2019年07月26日 14:58:53   作者:bainianminguo  
這篇文章主要介紹了django的model操作匯整詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

單表操作

增加數(shù)據(jù)

auther_obj = {"auther_name":"崔皓然","auther_age":1}
models.auther.objects.create(
 **auther_obj
)
models.auther.objects.create(
 auther_name="周雍博",
 auther_age=4
)
obj = models.auther(
 auther_name="崔洪艷",
 auther_age=29
)
obj.save()
obj = models.auther(
 auther_name = "王仙枝",
 auther_age = "50"
)
obj.save()

刪除數(shù)據(jù)

models.auther.objects.filter(auther_name="崔洪艷")[0].delete()

一對多操作

增加數(shù)據(jù)

a_obj = models.auther.objects.get(id=1)
 
 
models.book.objects.create(
 book_name = "python課程1",
 book_price = 12,
 book_auther = a_obj
)
a_obj = models.auther.objects.get(id=5)
 
models.book.objects.create(
 book_name = "java課程1",
 book_price = 13,
 book_auther_id = a_obj.id
)
a_obj = models.auther.objects.get(id=2)
 
book_dict = {
 "book_name":"python課程2",
 "book_price":14,
 "book_auther_id":a_obj.id
}
 
obj = models.book.objects.create(
 **book_dict
)
a_obj = models.auther.objects.get(id=4)
 
book_dict = {
 "book_name":"java課程2",
 "book_price":15,
 "book_auther":a_obj
}
 
models.book.objects.create(
 **book_dict
)

一對多正向查詢

# 查詢id為2的書的所有作者的信息
obj = models.book.objects.get(id=2)
 
print(obj.book_auther.auther_name)
print(obj.book_auther.auther_age)
 
obj = models.book.objects.filter(id=2).values("book_name","book_price","book_auther__id","book_auther__auther_name","book_auther__auther_age")
 
print(obj)
# 查詢id為2的作者的出版的書
 
obj = models.book.objects.filter(book_auther_id=2).values("book_name","book_price","book_auther__id","book_auther__auther_name","book_auther__auther_age")
print(obj)
 
 
obj = models.book.objects.get(book_auther_id=2)
print(obj.book_auther.auther_age)
print(obj.book_auther.auther_name)
print(obj.book_name)

一對多反向查詢

# 查看出版社出版的書
 
obj = models.auther.objects.filter(id=2).values("auther_name","auther_age","book__book_name")
print(obj)
 
obj = models.auther.objects.get(id=2).book_set.values("book_name","book_price","book_auther__id","book_auther__auther_name","book_auther__auther_age")
print(obj)

多對多操作

增加數(shù)據(jù)

b1 = models.book.objects.get(id=1)
b2 = models.book.objects.get(id=2)
b4 = models.book.objects.get(id=4)
b5 = models.book.objects.get(id=5)
models.publish.objects.get(id=1).publish_book.add(
 b1,b2
)
book_list = [b1,b2]
 
models.publish.objects.get(id=2).publish_book.add(
 *book_list
)

更新數(shù)據(jù)

book_list = [b1,b2,b4,b5]
models.publish.objects.get(id=1).publish_book.set(book_list)

移除數(shù)據(jù)

models.publish.objects.get(id=1).publish_book.remove(b1)
 
book_list = [b2, ]
 
models.publish.objects.get(id=1).publish_book.remove(*book_list)  

正向查詢

obj = models.publish.objects.get(id=1).publish_book.values("book_name","publish__publish_name")
print(obj)
 
obj = models.publish.objects.filter(id=1).values("publish_name","publish_book__book_name")
print(obj)

反向添加數(shù)據(jù)

p1 = models.publish.objects.get(id=1)
p2 = models.publish.objects.get(id=2)
p3 = models.publish.objects.get(id=3)
b1.publish_set.add(p1,p2,p3)

反向刪除數(shù)據(jù)

b1.publish_set.remove(p1)

反向更新數(shù)據(jù),把remove替換為set就可以了

反向查詢

obj = models.book.objects.get(id=1).publish_set.values("publish_name","publish_book__book_name")

model中多表關(guān)系和參數(shù) 

多對多

一對一

model操作

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python cx_Oracle的基礎(chǔ)使用方法(連接和增刪改查)

    python cx_Oracle的基礎(chǔ)使用方法(連接和增刪改查)

    這篇文章主要給大家介紹了關(guān)于python cx_Oracle的基礎(chǔ)使用方法,其中包括連接、增刪改查等基本操作,并給大家分享了python 連接Oracle 亂碼問題的解決方法,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • Python Json序列化與反序列化的示例

    Python Json序列化與反序列化的示例

    這篇文章主要介紹了Python Json序列化與反序列化的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • python中將字典形式的數(shù)據(jù)循環(huán)插入Excel

    python中將字典形式的數(shù)據(jù)循環(huán)插入Excel

    這篇文章主要介紹了python中將字典形式的數(shù)據(jù)循環(huán)插入Excel的方法,需要的朋友可以參考下
    2018-01-01
  • pyinstaller打包遇到的問題解決

    pyinstaller打包遇到的問題解決

    本文主要介紹了pyinstaller打包遇到的問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python腳本實現(xiàn)音頻m4a格式轉(zhuǎn)成MP3格式的實例代碼

    python腳本實現(xiàn)音頻m4a格式轉(zhuǎn)成MP3格式的實例代碼

    這篇文章主要介紹了python腳本實現(xiàn)音頻m4a格式轉(zhuǎn)成MP3格式的實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • Windows 下python3.8環(huán)境安裝教程圖文詳解

    Windows 下python3.8環(huán)境安裝教程圖文詳解

    這篇文章主要介紹了Windows 下python3.8環(huán)境安裝教程圖文詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Anaconda中更新當(dāng)前環(huán)境的Python版本詳細(xì)步驟

    Anaconda中更新當(dāng)前環(huán)境的Python版本詳細(xì)步驟

    Anaconda是一個開源的Python發(fā)行版本,其包含了conda、Python等180多個科學(xué)包及其依賴項,下面這篇文章主要給大家介紹了關(guān)于Anaconda中更新當(dāng)前環(huán)境的Python版本的詳細(xì)步驟,需要的朋友可以參考下
    2024-08-08
  • Python實現(xiàn)求解括號匹配問題的方法

    Python實現(xiàn)求解括號匹配問題的方法

    這篇文章主要介紹了Python實現(xiàn)求解括號匹配問題的方法,涉及Python基于棧的字符串遍歷、判斷、運算解決括號匹配相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • Python文件的操作示例的詳細(xì)講解

    Python文件的操作示例的詳細(xì)講解

    本問重點講解了Python文件的讀寫原理、常用文件打開模式、文件對象的常用方法和目錄的相關(guān)操作詳細(xì)講解,對Python文件操作相關(guān)知識感興趣的朋友跟隨小編一起看看吧
    2021-04-04
  • 淺談Python_Openpyxl使用(最全總結(jié))

    淺談Python_Openpyxl使用(最全總結(jié))

    這篇文章主要介紹了淺談Python_Openpyxl使用(最全總結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09

最新評論