Django 模型字段类型和字段参数总结

Django 模型字段类型和字段参数总结

1. models.AutoField

# 作用说明:默认生成列名为 id 的列,并设置为主键
# 数据类型:int(11)  
# 必备参数:primary_key = True 作为主键存在
# 主键django会默认自带
ColName = models.AutoField(primary_key = True)

2. models.CharField

# 作用说明:字符串字段,长度小于255
# 数据类型:varchar(50)
# 必备参数:max_length = 50 设置字段长度为50

ColName = mode3. models.BooleanFieldls.CharField(max_length = 50)

3. models.BooleanField

# 作用说明:布尔类型字段
# 数据类型:tinyint(1)
# 必备参数:Blank=True ,字段不能为空

ColName = models.BooleanField  (Blank = True)

4. models.ComaSeparatedIntegerField

# 作用说明:逗号分割的数字
# 数据类型:varchar(50)
# 必备参数:max_length = 50 设置字段长度为50

ColName = models.ComaSeparatedIntegerField(max_length = 50)

5. models.DateField

# 作用说明:日期类型
# 数据类型:date
# 必备参数:default = timezone.now 修改字段保存当前时间

from django.utils import timezone
ColName = models.DateField(default = timezone.now)

6. models.DateTimeField

# 作用说明:日期类型
# 数据类型:datetime
# 必备参数:default = timezone.now 修改字段保存当前时间

from django.utils import timezone
ColName = models.DateTimeField(default = timezone.now)

7. models.DecimalField

# 作用说明:十进制小数类型,保留几位小数
# 数据类型:decimal
# 必备参数:最大位数max_digits = 10 和小数位decimal_places = 2

from django.utils import timezone
ColName = models.DecimalField(max_digits = 10 , decimal_places = 2)

8. models.EmailField

# 作用说明:电子邮箱字段
# 数据类型:varchar,必须是email类型
# 必备参数:无

ColName = models.EmailField()

9. models.FloatField

# 作用说明:浮点型字段
# 数据类型:float
# 必备参数:最大位数max_digits = 10 和小数位decimal_places = 2

ColName = models.FloatField(max_digits = 10,decimal_places = 2)

10. models.IntegerField

# 作用说明:整数类型
# 数据类型:int
# 必备参数:无

ColName = models.IntegerField()

11. models.BigIntegerField

# 作用说明:长整数类型
# 数据类型:int
# 必备参数:无

ColName = models.BigIntegerField()

12. models.IPAddressField

# 作用说明:IP字段存储类型
# 数据类型:varchar
# 必备参数:无

ColName = models.IPAddressField()

13. models.GenericIPAddressField

# 作用说明:可选ip4和ip6字段存储类型
# 数据类型:varchar
# 必备参数:protocol (both,ipv4,ipv6)

ColName = models.GenericIPAddressField(protocol = both)

14. models.NullBooleanField

# 作用说明:允许空的布尔类型
# 数据类型:varchar
# 必备参数:无

ColName = models.NullBooleanField(protocol = both)

15. models.PositiveIntegerField

# 作用说明:负整数类型
# 数据类型:int
# 必备参数:无

ColName = models.PositiveIntegerField()

16. models.PositiveSmallIntegerField

# 作用说明:负数字字段类型tinyint、smallint、int、bigint
# 数据类型:varchar
# 必备参数:无

ColName = models.PositiveSmallIntegerField()

17. models.SlugField

# 作用说明:字段必须包含减号、下划线、字母、数字
# 数据类型:varchar
# 必备参数:无

ColName = models.SlugField()

18. models.SmallIntegerField

# 作用说明:数字字段类型tinyint、smallint、int、bigint
# 数据类型:varchar
# 必备参数:无

ColName = models.SmallIntegerField()

19. models.TextField

# 作用说明:长文本类型
# 数据类型:longtext
# 必备参数:无

ColName = models.TextField()

20. models.TimeField

# 作用说明:时间类型 HH:MM:SS
# 数据类型:datetime
# 必备参数:无

ColName = models.TimeField()

21. models.URLField

# 作用说明:url链接类型
# 数据类型:varchar
# 必备参数:无

ColName = models.URLField()

22. models.BinaryField

# 作用说明:二进制类型
# 数据类型:varchar
# 必备参数:无

ColName = models.BinaryField()

23. models.ImageField

# 作用说明:图片类型,保存成图片地址
# 数据类型:varchar
# 必备参数:无

ColName = models.ImageField()

24. models.FilePathField

# 作用说明:文件地址类型,根据地址选择匹配文件
# 数据类型:varchar
# 必备参数:path(文件的路径)

ColName = models.FilePathField(path='绝对路径')

25. models.FileField

# 作用说明:文件上传功能
# 数据类型:varchar
# 必备参数:upload_to

ColName = models.FileField(upload_to='绝对路径')

26. models.PhoneNumberField

# 作用说明:11位电话号码
# 数据类型:varchar(XXX-XXX-XXXX)
# 必备参数:无

ColName = models.PhoneNumberField()

Models 字段参数

1. null=True

# 字段可为空

2. blank=True

# Admin后台中添加数据时是否可允许空值

3. primary_key = False

# 主键,对AutoField设置主键后,就会代替原来的自增 id 列

4. auto_now 和 auto_now_add

# auto_now   自动创建---无论添加或修改都是当前修执行动作时间
# auto_now_add  自动创建---永远是创建时的时间

5. choices

# 创建关联选项
GENDER_CHOICE = (
        ('M', 'Male'),
        ('F', 'Female'),
    )
gender = models.CharField(max_length=2,choices = GENDER_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

# 错误提示 

GENDER_CHOICE = (
        (u'M', u'Male'),
        (u'F', u'Female'),
    )
gender = models.CharField(max_length=2,choices=GENDER_CHOICE,error_messages={"错误类型":"错误原因"})

14. auto_created=False

# 自动创建

15. help_text

# Admin后台中提示帮助信息

16. validators=[]

# 提示区间,例如电话号码范围

17. upload-to

# 指明上传的文件防止根目录下的/upload/文件夹下
file_path = modles.FileField(upload-to = "./upload/")
  • 16
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值