国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

對django 2.x版本中models.ForeignKey()外鍵說明介紹

瀏覽:2日期:2024-10-16 18:24:14

下面是代碼

class GroupInfos(models.Model): uid = models.AutoField(primary_key=True) caption = models.CharField(max_length=32, unique=True) ctime = models.DateTimeField(auto_now_add=True, null=True) uptime = models.DateTimeField(auto_now=True, null=True)class UserInfos(models.Model): username = models.CharField(max_length=32, blank=True, verbose_name=’用戶名’) password = models.CharField(max_length=64, help_text=’text’) email = models.EmailField(max_length=60) user_group = models.ForeignKey(’GroupInfos’, to_field=’uid’, on_delete=’CASCADE’)

說明

第一個class創建一個名稱為app_groupinfos的表

第二個class創建一個名稱為app_userinfos的表

1、ForeignKey 表示設置外健

2、to_field表示外健關聯的主鍵

3、on_delete有多個選項

在django2.0后,定義外鍵和一對一關系的時候需要加on_delete選項,此參數為了避免兩個表里的數據不一致問題,不然會報錯:

TypeError: init() missing 1 required positional argument: ‘on_delete’

舉例說明:

user=models.OneToOneField(User)owner=models.ForeignKey(UserProfile)

需要改成:

user=models.OneToOneField(User,on_delete=models.CASCADE) --在老版本這個參數(models.CASCADE)是默認值owner=models.ForeignKey(UserProfile,on_delete=models.CASCADE) --在老版本這個參數(models.CASCADE)是默認值

參數說明:

on_delete有CASCADE、PROTECT、SET_NULL、SET_DEFAULT、SET()五個可選擇的值

CASCADE:此值設置,是級聯刪除。

PROTECT:此值設置,是會報完整性錯誤。

SET_NULL:此值設置,會把外鍵設置為null,前提是允許為null。

SET_DEFAULT:此值設置,會把設置為外鍵的默認值。

SET():此值設置,會調用外面的值,可以是一個函數。

一般情況下使用CASCADE就可以了。

那么,這個時候一個group就會對應多個user,屬于一對多的類型。

當我們查詢一個組有那些用戶的時候,就會用到當前的外健,

創建記錄

并且,在class中定義了foreignKey之后,group還不存在的同時,user表也因為約束的原因,不能被進行創建

刪除記錄

并且,在class中定義了foreignKey之后,user中記錄存在的同時,group表中的記錄也因為約束的原因,不能被進行刪除

補充知識:owner = models.ForeignKey(User)出現TypeError

owner = models.ForeignKey(User)出現錯誤 TypeError: init() missing 1 required positional argument: ‘on_delete’owner = models.ForeignKey(User)

出現下列錯誤:

TypeError: __init__() missing 1 required positional argument: ’on_delete’

解決辦法:

owner = models.ForeignKey(User, on_delete=models.CASCADE)

以上這篇對django 2.x版本中models.ForeignKey()外鍵說明介紹就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 久草视频资源 | 丝袜精品 欧美 亚洲 自拍 | 欧美成人精品高清在线观看 | 欧美成a人免费观看久久 | 在线免费观看色 | 国产成人精品一区二区免费视频 | 亚洲一区二区三区免费观看 | 黄网在线观看免费网站台湾swag | 一级做a爰片久久毛片人呢 一级做a爰片久久毛片唾 | 香蕉99国内自产自拍视频 | 日本免费人成黄页在线观看视频 | 国产高清一区二区三区 | 亚洲视频在线一区二区 | 99精品在线观看视频 | 久久免费黄色 | 色青青草原桃花久久综合 | 亚洲国产欧美一区 | 国产在线观看午夜不卡 | 国产大学生自拍 | 国产美女白丝袜精品_a不卡 | 国产精品成人免费观看 | 九九在线精品视频播放 | 手机看片久久青草福利盒子 | 亚洲精品不卡视频 | 福利视频99 | 手机看片日韩日韩国产在线看 | 一级片视频在线 | 最新理论三级中文在线观看 | 欧美精品首页 | 欧美高清免费一级在线 | 最新国产大片高清视频 | 午夜影院免费体验 | 国产成人av性色在线影院 | 亚洲国产日韩欧美高清片a 亚洲国产日韩欧美在线 | 色偷偷888欧美精品久久久 | 欧美一区二区在线免费观看 | 国产乱子视频 | 欧美一级毛片美99毛片 | 成人毛片免费网站 | 和日本免费不卡在线v | 欧美成人影院免费观 |