国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Django之模型層多表操作的實現

2020-02-16 00:31:15
字體:
來源:轉載
供稿:網友

一、創建模型

1,一對多關系

一本書只有一個出版社,一個出版社可以出版多本書,從而書與出版社之間就構成一對多關系,書是‘多'的一方,出版社是‘一'的一方,我們在建立模型的時候,把外鍵寫在‘多'的一方,即我們要把外鍵寫在book類。

class Book(models.Model): name=models.CharField(max_length=15) price=models.IntegerField() publish=models.ForeignKey('Publish',on_delete=models.CASCADE) #這就是外鍵,其實是有三個參數的,第二參數是指向的字段,此處可以省略,他會自動指向id字段class Publish(models.Model): name=models.CharField(max_length=15) addr=models.CharField(max_length=15) phone=models.IntegerField()

在創建模型時不用創建id字段,在makemigrations命令輸入之后,它會在migrations文件夾下生產一個py文件記錄models.py里面所有的改動,在記錄的時候就會自動給你加上自增長的主鍵字段id。

2,多對多關系

一本書可以有多個作者,一個作者可以寫多本書,從而書和作者就構成了多對多的關系,我們在創建模型的時候,把多對多關系寫在其中的任何一張表都可以。

class Book(models.Model): name=models.CharField(max_length=15) price=models.IntegerField() publish=models.CharField(max_length=15) author=models.ManyToManyField('Author',db_table='book_author')  這是創建關系表的代碼,由于是寫在book模型中的,所以第一個參數為另一張表Author,第二個參數為把關系表的名字改為‘book_author',如果不寫,名字會是應用名_本模型名的小寫_另一張模型名的小寫。如‘app_book_author' class Meta:  這是把表名改為‘book',如果不寫,表名為APP名_模型名,如'app_book'  db_table='book'class Author(models.Model): name=models.CharField(max_length=15) age=models.IntegerField() class Meta:  db_table='author'在創建第三張模型的時候也不用指定book的id和author的id,它會自動把兩個模型的id字段寫進去的

3,一對一關系

一個作者只能對應一個作者詳細信息表,他們之間就是一對一關系,這和多對多一樣的,關系寫在哪張表都是可以的

class Author(models.Model): name=models.CharField(max_length=15) age=models.IntegerField() author_info=models.OneToOneField('Author_Info',on_delete=models.CASCADE)  這是一對一關系創建,第二參數是,自動跟隨刪除,當作者不在了,隨即作者的信息也會刪除 class Meta:  db_table='author'  class Author_Info(models.Model): gf_name=models.CharField(max_length=10) telephone=models.IntegerField() ShenFenZheng=models.IntegerField()

4,在此處我們可以使用Django的database:db.sqlite3

步驟如下:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东丽区| 泗水县| 故城县| 太谷县| 始兴县| 从化市| 枝江市| 靖边县| 青岛市| 营口市| 柳江县| 临夏市| 依兰县| 印江| 美姑县| 龙海市| 和平区| 蓬溪县| 招远市| 永寿县| 太谷县| 社旗县| 商城县| 南阳市| 房山区| 红安县| 大邑县| 修水县| 亳州市| 宝清县| 华坪县| 禄劝| 瓮安县| 应用必备| 共和县| 厦门市| 东辽县| 洮南市| 三亚市| 镇安县| 扶余县|