成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

Django中的AutoField字段使用

瀏覽:230日期:2024-10-05 16:51:01

【Django是一個機智的框架】

默認情況下Djang會為ORM中定義的每一張表加上一個自增ID列,并且用這個列來做主鍵;出于一個MySQL-DBA的工作經歷我覺得

Djanog還真是機智;這樣么說主要是因為我遇到過許多主從延時的問題,有些比較過分的會延時好幾周,通常這些都是因為binlog格式

為“ROW”但是表上不存在主鍵引起的。

如果當前網站用的是Django開發的,我想就不會有這種事情發生了吧。

【AutoField】

Django默認的行為就像這樣

class TestModel(models.Model): id = models.AutoField(primary_key=True)

數據庫層面對應的SQL如下

CREATE TABLE `myapp_testmodel` ( `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8

【注意】

如果你想的工增加AutoField列,但是又不指定這個列做為主鍵的話,是會報錯的

class TestModel(models.Model): tid = models.AutoField()

不顯示指定主鍵,但是又給表增加AutoField列的話就會報錯

assert not cls._meta.auto_field, 'Model %s can’t have more than one AutoField.' % cls._meta.labelAssertionError: Model myapp.TestModel can’t have more than one AutoField.

補充知識:Django中models下常用Field以及字段參數

一、常見的FieldType數據庫字段類型

1、AutoField:自增Field域,自動增加的一個數據庫字段類型,例如id字段就可以使用該數據類型,參數中必須填入primary_key=True

2、BigAutoField:和AutoField相同,只是比AutoField要大,參數中必須填入primary_key=True

3、BigIntegerField:大整型,只要用于存儲整型的數據

4、BinaryField:主要是存儲原始的二進制數據

5、BooleanField:主要是存儲布爾類型的數據,0和1

6、CharField:主要存儲字符串的數據類型

7、DateField:主要存儲日期類型的數據類型,日期格式為YYYY-MM-DD

8、DateTimeField:主要存儲時間相關的數據類型,格式為YYYY-MM-DD HH:MM:[ss[.uuuuuu]][TZ]

注意:DateField與DateTimeField有兩個屬性,配置auto_now_add=True,創建數據記錄的時候會把當前時間添加到數據庫,配置auto_now=True,每次更新數據記錄的時候都會更新該字段

9、DecimalField:主要存儲固定精度的十進制數據

--參數:max_digits(小數總長度)/decimal_places(小數位長度)

10、EmailField:存儲電子郵件格式的數據,Django Admin以及ModelForm中提供驗證機制

11、FileField:存儲文件類型的數據,文件上傳到指定目錄

--參數:upload_to='....'(上傳文件的保存路徑)/storage=None(存儲組件,默認django.core.files.storage.FileSystemStorage)

12、FilePathField:存儲文件路徑的數據,提供讀取文件夾下文件的功能

--參數:path(文件夾路徑)/match=None(正則匹配)/recursive=False(遞歸下面的文件夾)/allow_files=True(允許文件)/allow_folders=False(允許文件夾)

13、FloatField:存儲浮點型數據

14、ImageField:存儲圖片型數據,文件上傳到指定目錄

--參數:upload_to='.....'(上傳文件的保存路徑)/storage=None(存儲組件,默認django.core.files.storage.FileSystemStorage)/width_field=None(上傳圖片的寬度保存的數據庫字段名<字符串>)/height_field=None(上傳圖片的高度保存的數據庫字段名<字符串>)

15、IntegerField:存儲整型數據

16、GenericIPAddressField:存儲IP地址信息數據

17、NullBooleanField:可以存儲布爾值數據,也可以存儲空null數據

18、PositiveIntegerField:主要存儲正整數數據

19、SmallIntegerField:小整型,主要用于存儲整型的數據

20、TextField:存儲文章內容信息數據,存儲比較長的文本信息

21、TimeField:存儲時間信息

22、URLField:存儲URL網址信息,Django Admin以及ModelForm中提供驗證url

23、IPAddressField:Django Admin以及ModelForm中提供驗證IPV4機制

24、GenericIPAddressField:Django Admin以及ModelForm中提供驗證IPV4和IPV6機制

二、常用關系型數據表處理Field

1、處理一對多關系數據表:使用ForeignKey

2、處理多對多關系數據表:使用ManyToManyField

三、字段參數

1、null:用于表示某個字段可以為空

2、unique:如果設置為unique=True則該字段在此表中必須是唯一的

3、db_index:如果db_index=True則代表這為此字段設置索引

4、default:為該字段設置默認值

四、關系字段

1、to:設置要關聯的表

2、to_field:設置要關聯的表的字段

3、related_name:反向操作時,使用的字段名,用于代替原反向查詢時的'表名_set'

4、on_delete:當刪除關聯表中的數據時,當前表與其關聯的行的行為,例如刪除一個出版社,那么和這個出版社有關聯的書籍也都被刪除掉了,下面介紹on_delete的參數值:

on_delete=models.CASCADE:刪除關聯數據,與之關聯也刪除

on_delete=models.DO_NOTHING:刪除關聯數據,引發錯誤IntegrityError

on_delete=models.PROTECT:刪除關聯數據,引發錯誤ProtectedError

on_delete=models.SET_NULL:刪除關聯數據,與之關聯的值設置為null(前提FK字段需要設置為可空)

on_delete=models.SET_DEFAULT:刪除關聯數據,與之關聯的值設置為默認值(前提FK字段需要設置默認值)

on_delete=models.SET:刪除關聯數據:

a、與之關聯的值設置為指定值,設置:models.SET(值)

b、與之關聯的值設置為可執行對象的返回值,設置:models.SET(可執行對象)

5、db_constraint:是否在數據庫中創建外鍵約束,默認為True,db_constraint一般使用在建立數據表連接關系當中(例如創建外鍵),如果使用False,則是限制了表之間沒有關聯,達到了軟連接的效果

五、元信息

ORM對應的類里面包含另一個Meta類,而Meta類封裝了一些數據庫的信息,主要字段如下:

1、db_table:ORM在數據庫中的表名默認為app_類名,可以通過db_table可以重寫表名

2、index_together:聯合索引,給兩列做索引

3、unique_together:聯合唯一索引,兩列不能重復

4、ordering:指定默認按什么字段順序,只有設置了該屬性,我們查詢到的結果才可以被reverse()

具體介紹可以查看https://docs.djangoproject.com/en/dev/ref/models/fields/

以上這篇Django中的AutoField字段使用就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲午夜精品17c| 亚洲一区二区动漫| 亚洲激情一区二区三区| 欧美xxxx在线观看| 激情成人综合网| 欧美亚洲国产bt| 偷偷要91色婷婷| 榴莲视频成人在线观看| 一区二区三区视频在线观看| 在线日韩视频| 国产精品国产三级国产有无不卡| 97国产一区二区| 26uuu精品一区二区| 成人一级黄色片| 日韩精品一区二区三区蜜臀 | 久久综合色鬼综合色| 国产乱码精品一品二品| 欧美日韩精品综合在线| 日本美女视频一区二区| 色婷婷综合视频在线观看| 丝袜亚洲另类丝袜在线| 噜噜噜91成人网| 亚洲成人在线免费| 午夜亚洲视频| 五月天激情综合网| 91福利在线看| 久久电影网站中文字幕| 欧美精品第1页| 国产精品一二三在| 日韩午夜在线影院| 成人高清在线视频| 久久嫩草精品久久久精品| 欧美一区激情| 欧美国产日产图区| 黄色另类av| 一区二区三区四区在线播放 | 黄色小说综合网站| 欧美日韩中文一区| 国产精品资源在线| 欧美一区二区三区在| 国产.欧美.日韩| 久久综合色鬼综合色| 欧美日韩免费观看一区| 亚洲人成亚洲人成在线观看图片| 一本色道久久综合亚洲精品高清 | 91麻豆精品国产91久久久久久| 国产精品自拍av| 2022国产精品视频| 国产精品啊啊啊| 亚洲激情第一区| 91黄色激情网站| 国产大片一区二区| 精品日韩一区二区| 欧美激情一区二区三区在线视频| 最近中文字幕一区二区三区| 久久福利一区| 韩国女主播一区二区三区| 日韩精品一区二| 在线成人黄色| 日本不卡一二三| 日韩一级黄色片| 国模吧视频一区| 午夜私人影院久久久久| 欧美嫩在线观看| 91美女在线观看| 尤物在线观看一区| 欧美亚洲国产一卡| av在线一区二区三区| 亚洲欧美日韩国产综合在线| 在线精品视频一区二区| 成人激情开心网| 亚洲精品午夜久久久| 欧美色综合网站| 91丝袜美女网| 亚洲制服丝袜一区| 91精品国产综合久久精品性色| 欧美成人首页| 亚洲电影视频在线| 日韩视频在线你懂得| 亚洲性视频h| 免费三级欧美电影| 久久综合精品国产一区二区三区 | 欧美午夜视频在线| 午夜影视日本亚洲欧洲精品| 欧美一区二区在线免费观看| 国产精品v一区二区三区| 日韩精品电影一区亚洲| 精品国产一区a| 国产精品日韩| 国产精品一区三区| 亚洲色图欧美激情| 91精品国产品国语在线不卡| 在线精品一区二区| 国产一区二区女| 亚洲欧洲成人精品av97| 欧美三级三级三级爽爽爽| 欧美日韩在线不卡一区| 麻豆成人久久精品二区三区红| 国产日韩欧美a| 91行情网站电视在线观看高清版| 91网站在线播放| 亚洲18色成人| 国产日韩综合av| 欧洲国内综合视频| 一区二区三区我不卡| 国产专区欧美精品| 亚洲人成精品久久久久久 | 欧美国产亚洲另类动漫| 欧美在线一区二区三区| 韩国av一区| 精品一区二区影视| 亚洲三级在线观看| 欧美一区二区三区色| 亚洲免费网站| 91丨九色丨尤物| 久草中文综合在线| 怡红院av一区二区三区| 337p日本欧洲亚洲大胆色噜噜| 色婷婷av一区二区三区gif| 国内精品久久久久久久果冻传媒| 国产一区二区三区在线观看免费视频| 亚洲摸摸操操av| 久久综合狠狠综合久久综合88| 久久精品女人的天堂av| 欧美精品一卡| 国产精品1区2区3区| 亚洲成人福利片| 国产精品国产三级国产三级人妇 | 在线不卡免费av| 亚洲综合99| 国产一区二区中文| 成人免费看视频| 日本美女一区二区三区| 最新成人av在线| 2欧美一区二区三区在线观看视频| 91黄色在线观看| 国产私拍一区| 欧美日韩综合精品| 不卡电影免费在线播放一区| 寂寞少妇一区二区三区| 肉丝袜脚交视频一区二区| 亚洲色图色小说| 欧美激情一区二区在线| 日韩精品一区二| 欧美精品色综合| 91久久免费观看| 国产精品欧美日韩一区| 欧美日韩成人一区二区三区| 成人一级视频在线观看| 精品在线你懂的| 日本人妖一区二区| 亚洲免费高清视频在线| 国产精品免费视频一区| 久久综合色播五月| 日韩欧美高清在线| 欧美疯狂做受xxxx富婆| 在线免费观看视频一区| 久久成人亚洲| 国产视频在线观看一区| 亚洲国产精品第一区二区三区| 欧美日韩在线观看一区二区三区| www.性欧美| 懂色av中文字幕一区二区三区| 国产一区中文字幕| 蜜桃久久久久久| 日本中文字幕一区二区有限公司| 亚洲成人tv网| 亚洲成a人片在线不卡一二三区| 伊人婷婷欧美激情| 日韩毛片高清在线播放| 国产精品美女久久久久av爽李琼| 国产日韩欧美在线一区| 久久精品在线免费观看| 久久理论电影网| 久久日韩粉嫩一区二区三区| 精品美女被调教视频大全网站| 欧美一区二区三区视频免费播放| 91精品国产综合久久久久久久久久 | 成人小视频在线| 国产麻豆视频精品| 国产一区二区影院| 国产久卡久卡久卡久卡视频精品| 国产一区91精品张津瑜| 国产精品66部| 成人亚洲一区二区一| jlzzjlzz国产精品久久| 91美女蜜桃在线| 国产精品v欧美精品v日本精品动漫| 国产精品av一区二区| 激情久久中文字幕| 亚洲激情国产| 国产精品视频免费观看| 免费在线成人| 色婷婷综合久久久久中文| 日本韩国欧美在线| 欧美日韩国产色站一区二区三区| 91精品国产品国语在线不卡| 欧美精品一区二区高清在线观看| 国产午夜精品一区二区三区视频| 国产精品成人一区二区三区夜夜夜|