Django模型的字段类型

本文详细介绍了Django模型中的字段定义,包括字段类型(如Integer、VARCHAR等)、自动增长字段、布尔类型、日期时间类型等,并列举了内置的多种字段类型及其用法。
摘要由CSDN通过智能技术生成

Django模型中最重要并且也是唯一必须执行的就是字段定义。字段在类中进行定义,对应于实体数据库的字段。另外,定义模型字段名时为了避免冲突,不建议使用模型API中已经定义的关键字。

字段类型用以指定数据库的数据类型,例如Integer、VARCHAR和TEXT这几种比较常用的数据类型。在Django模型定义中,字段类型均派生自Field类的实例。Django框架中的Field类是一个抽象类,专门用于定义数据库表的列表项。

Django模型一共内置了多种字段类型,基本能够满足一般的设计需求。Django模型的主要字段类型说明如下:

  • AutoField:一个自动增加的Integer类型。一般情况下,AutoField类型是不需要直接使用的,域的主键会自动被添加到模型中。
  • BigAutoField:类似AutoField类型,一个自动增加的长Integer(64-bit)类型(1~9223372036854775807)。
  • IntegerField:一个Integer类型(−2147483648~2147483647)。
  • BigIntegerField:一个长Integer类型(−9223372036854775808~9223372036854775807)。
  • SmallIntegerField:一个Small Integer类型(−32768~32767)。
  • BinaryField:一个用来存储二进制数据的类型。
  • BooleanField:一个用来存储布尔值(True / False)的类型。
  • NullBooleanField:类似BooleanField(null=True)类型。
  • FloatField:一个用来存储浮点型数据的类型,表示Python语言中的float实例。
  • CharField:一个用来存储字符串的类型。CharField类型必须额外定义一个表示最大长度的参数——CharField.max_length。
  • DateField:一个用来存储日期的类型,表示Python语言中的datetime.date实例。CharField类型可以额外定义两个可选参数——DateField.auto_now和DateField.auto_now_add。其中,DateField.auto_now参数用于自动获取当前时间,DateField.auto_now_add参数用于在对象第一次创建时自动获取当前时间。
  • DateTimeField:一个用来存储日期和时间的类型,表示Python语言中的datetime.datetime   实例。
  • TimeField:一个用来存储时间的类型,表示Python语言中的datetime.time实例。
  • DecimalField:一个用来存储十进制数据的类型,表示Python语言中的Decimal实例。DecimalField类型需要定义两个必选参数——DecimalField.max_digits和 DecimalField.decimal_places。其中,DecimalField.max_digits参数表示最大数值, DecimalField.decimal_places参数表示存储位置。
  • DurationField:一个用来存储时间间隔的类型,表示Python语言中的timedelta。
  • EmailField:一个CharField类型的域,用于表示电子邮件类型。
  • FileField:一个用于文件上传的类型。FileField类型需要定义两个必选参数——FileField.upload_to和 FileField.storage。其中,FileField.upload_to参数表示存储路径,FileField.storage参数表示存储对象。
  • TextField:一个用于存储文本的类型,在表单域中默认使用TextArea小部件(Widget)。
  • ImageField:一个用来存储Image文件的类型,继承自FileField类型。ImageField类型需要定义两个必选参数——ImageField.height_field和ImageField.width_field。其中,ImageField.height_field参数表示Image文件的高度,ImageField.width_field参数表示Image文件的宽度。
  • GenericIPAddressField:一个用来存储原生IP(IPv4或IPv6)地址的类型,在表单域中默认使用TextInput小部件(Widget)。
  • URLField:一个用来存储URL的类型,继承自CharField类型,在表单域中默认使用TextInput小部件(Widget)。

《Django 5企业级Web应用开发实战(视频教学版)》1-7章样章,评估一下看看如何。配套示例源码、PPT课件、教学视频,可以通过前言给出的下载方式下载。

百度网盘:百度网盘 请输入提取码

本文节选自《Django 5企业级Web应用开发实战(视频教学版)》,获出版社和作者授权发布。

  • 24
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值