Django的Field详解(转载)

本文转载于:https://www.cnblogs.com/ellisonzhang/p/10679054.html

字段

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
1models.AutoField  自增列 = int(11)
  如果没有的话默认会生成一个名称为 id 的列如果要显示的自定义一个自增列必须将给列设置为主键 primary_key=True
2models.CharField  字符串字段
  必须 max_length 参数
3models.BooleanField  布尔类型=tinyint(1)
  不能为空Blank=True
4models.ComaSeparatedIntegerField  用逗号分割的数字=varchar
  继承CharField所以必须 max_lenght 参数
5models.DateField  日期类型 date
  对于参数auto_now = True 则每次更新都会更新这个时间auto_now_add 则只是第一次创建添加之后的更新不再改变
6models.DateTimeField  日期类型 datetime
  同DateField的参数
7models.Decimal  十进制小数类型 = decimal
  必须指定整数位max_digits和小数位decimal_places
8models.EmailField  字符串类型正则表达式邮箱 =varchar
  对字符串进行正则表达式
9models.FloatField  浮点类型 = double
10models.IntegerField  整形
11models.BigIntegerField  长整形
  integer_field_ranges = {
    'SmallIntegerField': (-32768, 32767),
    'IntegerField': (-2147483648, 2147483647),
    'BigIntegerField': (-9223372036854775808, 9223372036854775807),
    'PositiveSmallIntegerField': (0, 32767),
    'PositiveIntegerField': (0, 2147483647),
  }
12models.IPAddressField  字符串类型ip4正则表达式
13models.GenericIPAddressField  字符串类型ip4和ip6是可选的
  参数protocol可以是bothipv4ipv6
  验证时会根据设置报错
14models.NullBooleanField  允许为空的布尔类型
15models.PositiveIntegerFiel  正Integer
16models.PositiveSmallIntegerField  正smallInteger
17models.SlugField  减号下划线字母数字
18models.SmallIntegerField  数字
  数据库中的字段有tinyintsmallintintbigint
19models.TextField  字符串=longtext
20models.TimeField  时间 HH:MM[:ss[.uuuuuu]]
21models.URLField  字符串地址正则表达式
22models.BinaryField  二进制
23models.ImageField   图片
24models.FilePathField 文件

参数

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
1、null=True
  数据库中字段是否可以为空
2、blank=True
  django的 Admin 中添加数据时是否可允许空值
3、primary_key = False
  主键,对AutoField设置主键后,就会代替原来的自增 id 列
4、auto_now 和 auto_now_add
  auto_now   自动创建---无论添加或修改,都是当前操作的时间
  auto_now_add  自动创建---永远是创建时的时间
5、choices
    sex_choice=((“F”,“FEMAL”),(“M”,’Male’),)    #admin专用下拉选项    
    gender=models.CharFiled(max_length=2,choice=sex_choice)
6、max_length
7、default  默认值
8、verbose_name  Admin中字段的显示名称
9、name|db_column  数据库中的字段名称
10、unique=True  不允许重复
11、db_index = True  数据库索引
12、editable=True  在Admin里是否可编辑
13、error_messages=None  错误提示
14、auto_created=False  自动创建
15、help_text  在Admin中提示帮助信息
16、validators=[]
17、upload-to