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,但关系的“反向”将直接返回一个单一对象。 |
关系字段极大的简化了数据中表关系的设置。
参考: