【Django 字段和相关参数补充】
字段类型:
1、models.AutoField 自增列=int(11)
如果没有的话,默认会生成一个名称为id的列,如果要显示的自定义一个自增列,必须将给列设置为主键primary _key=True
2、models.CharField 字符串字段
必须max_length 参数
3、models.BooleanField 布尔类型=tinyint (1)
不能为空,Blank =True
4、models.ComaSeparatedIntegerField 用逗号分割的数字=varchar
继承CharField,所以必须max_lenght参数
5、models.DateField 日期类型date
对于参数,auto =true则每次更新都会更新这个时间auto_now add 则只是第一次创建添加,之后的更新不再改变。
6、mdels.DateTimeField 日期类型datetime
同Date1d的参数
7、models.Decimal 十进制小数类型=decimal
必须指定整数位max_digits 和小数位decimal _places
8、modele.EmailField 字符串类型(正则表达式邮箱)=varchar
对字符串进行正则表达式
9、models.FileField 浮点类型=double
10、models.IntegerField 整型
11、models .BigIntegerField 长整形
integer_filed_ranges = {
'Smallintegereield ' : ( - 32768 ,32767),
'InterfiEld ':(-2147483648,2147483647),
'BigIntegerField':(-9223372036854775808,9223372036854775807),
'PeositiveSmallIntegerField ' :( 0,32767 ),
'PeositiveIntegerField': ( 0 , 2147483647),
}
12、models.IPAddressField 字符串类型(ip4正则表达式)
13、models.GenericIPadderssFileld 字符串类型(ip4和ip6是可选的
参数protocol可以是:both、ipv4、ipv6
验证时,会根据设置报错
14、models.NullBooleanField 允许为空的布尔类型
15、models.PeositiveIntegerField 正Intege
16、models.PeositiveSmallIntegerField 正smallinteder
17、mode1s.S1ugField 减号、下划线、字母、数
18、models.Smallintegereield 数字
数据库中的字段有:tinyint 、smallint、int、bigint
19、models.Textfield 字符串=longtext
20、models TimeField 时间 HH:MM[:ss[.uuuuu]]
21、models.URLField 字符串,地址正则表达式
22、models.BinaryField 二进制
23、models.ImageFie1d 图片
24、models.FilePathField 文件
字段的参数:
1、null db是否可以为空
2、default 默认值
3、primary key 主键
4、db_column 列名
5、ab_index 索引
6、unique 唯一索引
7、unique_for_date
8、unique for month
9、unique for year
10、auto_now 创建时,自动生成时间
11、auto_now_add 更新时,自动更新为当前时间
12 # obj - UserGroup.objects.filter(id=1).update(caption='CEO')
13 # obj - UserGroup.objects.filter(id=1).first()
14 # obj.caption = 'CEO'
15 # obj.save()
16 choices django admin 中显示下拉框,避免连表查询
17 blank django admin 是否可以为空
18 verbose name django admin 显示字段中文
19 editable django admin 是否可以被编辑
20 error_messages 错误信息
21 help_text django admin 提示
22 validators django form ,自定义错误信息