• Django模型的字段类型


    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应用开发实战(视频教学版)》,获出版社和作者授权发布。

  • 相关阅读:
    (十)C++中的左值lvalue&右值rvaue
    热血男孩滕文泽 受邀担任第六季完美童模全球总决赛形象大使
    Vue Vuex模块化编码
    每个程序员必须掌握的常用英语词汇(建议收藏)
    minio文件迁移
    java AOP实现方式及Spring AOP总结
    安装、测试和训练OpenPCDet:一篇详尽的指南
    9、正则表达式入门
    11.6区间估计、置信区间
    PeLK:通过周边卷积的参数高效大型卷积神经网络
  • 原文地址:https://blog.csdn.net/brucexia/article/details/137926670