Django 4.2 复习笔记(三)Model模型字段
Django的ORM在Python中算是数一数二的,使用起来非常的简单和丝滑,文档也写的简单直观,相对于SQLAlchemy有过之而无不及。
模型字段
常用的字段选项:
| 选项 | 作用 |
|---|---|
| null | 如果是 True, Django 将在数据库中存储空值为 NULL。默认为 False。 |
| blank | 如果是 True ,该字段允许为空。默认为 False 。 |
| db_index | 如果是 True,将为该字段创建数据库索引。 |
| default | 该字段的默认值。可以是一个值或者是个可调用的对象,如果是个可调用对象,每次实例化模型时都会调用该对象。 |
| help_text | 额外的“帮助”文本,随表单控件一同显示。即便你的字段未用于表单,它对于生成文档也是很有用的。 |
| primary_key | 如果设置为 True ,将该字段设置为该模型的主键。 |
| unique | 如果设置为 True,这个字段必须在整个表中保持值唯一。 |
| verbose_name | 字段的一个人类可读名称,如果没有给定详细名称,Django 会使用字段的属性名自动创建,并将下划线转换为空格。 |
| validators | 要为该字段运行的验证器列表 |
常见字段类型:
| 名称 | 作用 |
|---|---|
| AutoField | 一个 IntegerField,根据可用的 ID 自动递增。你通常不需要直接使用它;如果你没有指定,主键字段会自动添加到你的模型中。 |
| BooleanField | 单元一个 true/false 字段。格 |
| DateField | 一个日期,在 Python 中用一个 datetime.date 实例表示。有一些额外的、可选的参数。 |
| DateTimeField | 一个日期和时间,在 Python 中用一个 datetime.datetime 实例表示。 |
| EmailField | 一个 CharField,使用 EmailValidator 来检查该值是否为有效的电子邮件地址。 |
| FileField | 一个文件上传字段 |
| ImageField | 继承 FileField 的所有属性和方法,但也验证上传的对象是有效的图像。 |
| IntegerField | 一个整数。从 -2147483648 到 2147483647 的值在 Django 支持的所有数据库中都是安全的。 |
| CharField | 一个字符串字段,适用于小到大的字符串。 |
| TextField | 一个大的文本字段。该字段的默认表单部件是一个 Textarea。 |
| TimeField | 一个时间,在 Python 中用 datetime.time 实例表示。接受与 DateField 相同的自动填充选项。 |
| UUIDField | 一个用于存储通用唯一标识符的字段。使用 Python 的 UUID 类。当在 PostgreSQL 上使用时,它存储在一个 uuid 的数据类型中,否则存储在一个 char(32) 中。 |
关系字段:
| 名称 | 作用 |
|---|---|
| ForeignKey | 一个多对一的关系。 |
| ManyToManyField | 一个多对多的关系 |
| OneToOneField | 一对一的关系。概念上,这类似于 ForeignKey 与 unique=True,但关系的“反向”将直接返回一个单一对象。 |
关系字段极大的简化了数据中表关系的设置。
参考:
标签: Django
相关文章
- Django 4.2 复习笔记(九)Django Forms 使用表单
- Django 4.2 复习笔记(九)使用Django的上下文处理器(context processor)
- 如何单独使用Django ORM 在非Django项目中使用Django ORM?
- Django 4.2 复习笔记(八)Django 模板语言语法
- Django 4.2 复习笔记(七)Django 模板(TEMPLATES)
- Django 4.2 复习笔记(六)Django的路由
- SQLAlchemy的关系字段和Django的关系字段他们的不同点。
- Django 4.2 复习笔记(五)Django中常见的关系字段及其示例
- Django 4.2 复习笔记(四)数据的查询Django的ORM
- Django 4.2 复习笔记(二)编写和调试Model模型
- Django 4.2 复习笔记(一)迅速概览