1 AutoFiled(Filed) int自增列 必須填入參數 primary_key=True 2 3 BigAutoField(AutoField) bigint自增列 必須填入參數 primary_key=True 4 5 當model中若是沒有自增列,則自動會建立一個列名爲id的列 6 7 SmallIntegerField(IntegerField) 小整數 -32768~32767 8 9 PositiveSmallIntegerField(PositiveIntegerRelDbTypeMixin,IntegerField) 正小整數 0~32767 10 11 IntegerField(Field) 整數列(有符號的) -2147483648~2147483647 12 13 PositiveIntegerField(PositiveIntegerRelDbTypeMixin,IntegerField) 正整數 0~2147483647 14 15 BigIntegerField(IntegerField)長整形(有符號的)-922337036854775808~9223372036854775807 16 17 BooleanField(Field) 布爾值類型 18 19 NullBooleanField(Field) 能夠爲空的布爾值 20 21 CharField(Field) 字符類型 22 23 TextField(Field) 文本類型 24 25 EmailField(CharField) 字符串類型 django admin 以及ModelForm中提供驗證機制 26 27 IPAddressField(Field) 字符串類型 django admin 以及ModelForm中提供驗證IPV4機制 28 29 GenericIPAddressField(Field) 字符串類型 django admin 以及ModelForm中提供驗證IPV4和IPV6 參數:protocol,用於指定ipv4或ipv6:'both','ipv4','ipv6' 30 31 URLField(CharField) 字符串類型 django admin 以及ModelForm中提供驗證URL 32 33 SlugField(CharField) 字符串類型 django admin 以及ModelForm中提供驗證 支持字母數字下劃線鏈接符(減號) 34 35 'CommaSeparatedIntegerField': 'varchar(%(max_length)s)', 必須由逗號分開的整數,必須有max_length參數 36 37 UUIDField(Field) 字符串類型,Django Admin以及ModelForm中提供對UUID格式的驗證 38 39 FilePathField(Field) 字符串,Django Admin以及ModelForm中提供讀取文件夾下文件的功能 參數: 40 path, 文件夾路徑 41 match=None, 正則匹配 42 recursive=False, 遞歸下面的文件夾 43 allow_files=True, 容許文件 44 allow_folders=False, 容許文件夾 45 46 FileField(Field) 字符串,路徑保存在數據庫,文件上傳到指定目錄 47 - 參數: 48 upload_to = "" 上傳文件的保存路徑 49 storage = None 存儲組件,默認django.core.files.storage.FileSystemStorage 50 51 ImageField(FileField) 字符串,路徑保存在數據庫,文件上傳到指定目錄 52 - 參數: 53 upload_to = "" 上傳文件的保存路徑 54 storage = None 存儲組件,默認django.core.files.storage.FileSystemStorage 55 width_field=None, 上傳圖片的高度保存的數據庫字段名(字符串) 56 height_field=None 上傳圖片的寬度保存的數據庫字段名(字符串) 57 58 DateTimeField(DateField) 日期+時間格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] 59 60 DateField(DateTimeCheckMixin,Field) 日期格式 YYYY-MM-DD 61 62 TimeField(DateTimeCheckMixin,Field) 時間格式 HH:MM[:ss[.uuuuuu]] 63 64 65 FloatField(Field) 浮點型 66 DecimalField(Field) 10進制小數 67 參數: 68 max_digits,小數總長度 69 decimal_places,小數位長度 70 71 'BinaryField': 'longblob',存儲二進制數據,不能使用filter函數得到QuerySet
1 'AutoField': 'integer AUTO_INCREMENT', 2 'BigAutoField': 'bigint AUTO_INCREMENT', 3 'BinaryField': 'longblob', 4 'BooleanField': 'bool', 5 'CharField': 'varchar(%(max_length)s)', 6 'CommaSeparatedIntegerField': 'varchar(%(max_length)s)', 7 'DateField': 'date', 8 'DateTimeField': 'datetime', 9 'DecimalField': 'numeric(%(max_digits)s, %(decimal_places)s)', 10 'DurationField': 'bigint', 11 'FileField': 'varchar(%(max_length)s)', 12 'FilePathField': 'varchar(%(max_length)s)', 13 'FloatField': 'double precision', 14 'IntegerField': 'integer', 15 'BigIntegerField': 'bigint', 16 'IPAddressField': 'char(15)', 17 'GenericIPAddressField': 'char(39)', 18 'NullBooleanField': 'bool', 19 'OneToOneField': 'integer', 20 'PositiveIntegerField': 'integer UNSIGNED', 21 'PositiveSmallIntegerField': 'smallint UNSIGNED', 22 'SlugField': 'varchar(%(max_length)s)', 23 'SmallIntegerField': 'smallint', 24 'TextField': 'longtext', 25 'TimeField': 'time', 26 'UUIDField': 'char(32)',
1 null 數據庫中字段是否能夠爲空 2 db_column 數據庫中字段的列名 3 db_tablespace 4 default 數據庫中字段的默認值 5 primary_key 數據庫中字段是否爲主鍵 6 db_index 數據庫中字段是否能夠創建索引 7 unique 數據庫中字段是否能夠創建惟一索引 8 unique_for_date 數據庫中字段【日期】部分是否能夠創建惟一索引 9 unique_for_month 數據庫中字段【月】部分是否能夠創建惟一索引 10 unique_for_year 數據庫中字段【年】部分是否能夠創建惟一索引 11 12 django admin 13 verbose_name Admin中顯示的字段名稱 14 blank Admin中是否容許用戶輸入爲空 15 editable Admin中是否能夠編輯 16 help_text Admin中該字段的提示信息 17 choices Admin中顯示選擇框的內容,用不變更的數據放在內存中從而避免跨表操做 18 如:gf = models.IntegerField(choices=[(0, '哈哈'),(1, '啦啦啦'),],default=1) 19 django 20 error_messages 自定義錯誤信息(字典類型),從而定製想要顯示的錯誤信息; 21 字典健:null, blank, invalid, invalid_choice, unique, and unique_for_date 22 如:{'null': "不能爲空.", 'invalid': '格式錯誤'} 23 24 validators 自定義錯誤驗證(列表類型),從而定製想要的驗證規則 25 from django.core.validators import RegexValidator 26 from django.core.validators import EmailValidator,URLValidator,DecimalValidator,\ 27 MaxLengthValidator,MinLengthValidator,MaxValueValidator,MinValueValidator 28 如: 29 test = models.CharField( 30 max_length=32, 31 error_messages={ 32 'c1': '優先錯信息1', 33 'c2': '優先錯信息2', 34 'c3': '優先錯信息3', 35 }, 36 validators=[ 37 RegexValidator(regex='root_\d+', message='錯誤了', code='c1'), 38 RegexValidator(regex='root_112233\d+', message='又錯誤了', code='c2'), 39 EmailValidator(message='又錯誤了', code='c3'), ]