Django ORM 關係管理物件的建立

2021-09-29 08:35:35 字數 2551 閱讀 5678

from django.db import models

class

book

(models.model)

: title = models.charfield(max_length=32)

pub = models.foreignkey(

'publisher'

, on_delete=models.cascade)

class

author

(models.model)

: name = models.charfield(max_length=32)

books = models.manytomanyfield(

'book'

)# 不會生成字段 生成第三張表 可以set等方法

class

book

(models.model)

: title = models.charfield(max_length=

32, unique=

true

)class

author

(models.model)

: name = models.charfield(max_length=32)

class

authorbook

(models.model)

: book = models.foreignkey(

'book'

,on_delete=models.cascade)

author = models.foreignkey(

'author'

,on_delete=models.cascade)

date = models.charfield(max_length=32)

# 第三張表不能夠使用 set方法

class

book

(models.model)

: title = models.charfield(max_length=

32, unique=

true

)class

author

(models.model)

: name = models.charfield(max_length=32)

books = models.manytomanyfield(

'book'

,through=

'authorbook'

)# 只用django提供的查詢方法 不用建立表 用使用者建立的表authorbook

class

authorbook

(models.model)

: book = models.foreignkey(

'book'

,on_delete=models.cascade)

author = models.foreignkey(

'author'

,on_delete=models.cascade)

date = models.charfield(max_length=32)

class

book

(models.model)

: title = models.charfield(max_length=

32, unique=

true

)class

author

(models.model)

: name = models.charfield(max_length=32)

books = models.manytomanyfield(

'book'

,through=

'authorbook'

,through_fields=

['author'

,'book'])

# 只用django提供的查詢方法 不用建立表 用使用者建立的表authorbook

class

authorbook

(models.model)

: book = models.foreignkey(

'book'

,on_delete=models.cascade,null=

true

) author = models.foreignkey(

'author'

,on_delete=models.cascade,related_name=

'x1'

,null=

true

) tuiianren = models.foreignkey(

'author'

,on_delete=models.cascade,related_name=

'x2'

,null=

true

) date = models.charfield(max_length=

32)

Django ORM(物件關係對映)

簡而言之,orm就是物件導向語言使用關係型資料庫的中轉站。orm能使開發人員專注於業務邏輯,減少開發人員的負擔,但是orm的缺點也很明顯,效率不高並且無法實現複雜的sql功能。orm不能完全替代sql。from django.db import models create your models h...

django orm 建立表關係

表與表之間的關係 一對多多對多 一對一沒有關係 判斷表關係的方法 換位思考 圖書表 出版社表 作者表作者詳情表 圖書和出版社是一對多的關係 外來鍵字段建在多的那一方 book 圖書和作者是多對多的關係 需要建立第三張表來專門儲存 作者與作者詳情表是一對一 from django.db import ...

Django ORM物件Json序列化問題

碰到了乙個問題 在使用json.dumps 序列化django orm的queryset物件,傳遞給前端的時候,程式報錯 object of type queryset is not json serializable 在python 中,常用的json 的序列化是從 json 基礎上改變而來。這個...