13-ORM常用字段对比MySQL类型MySQL

ORM中常用的字段及参数

字段类型 描述 详细说明 参数
AutoField 整数自增列 primary_key=True
IntegerField 整数字段
BigIntegerField 长整型字段
CharField 字符字段 max_length
EmailField 用于存储电子邮件地址的字符字段 继承自CharField
DecimalField 具有指定精度和小数位数的十进制字段 max_digitsdecimal_places
TextField 用于存储大量文本的文本字段
FileField 具有可选上传功能的文件路径字段 upload_to(文件存储的可选路径)
BooleanField 用于存储True/False值的布尔字段
DateField 日期字段 auto_now_add(在记录创建时自动添加当前日期),auto_now(在记录更新时自动更新字段)
DateTimeField 日期和时间字段 auto_now_addauto_now
ForeignKey 用于建立多对一关系的外键字段 to(关联表),to_field(关联表中的字段),on_delete(关联记录删除时的行为)
OneToOneField 一对一关系字段 toto_fieldon_delete
null 允许字段为空 null=True
unique 确保字段在表中唯一 unique=True
db_index 指定是否为字段创建索引 db_index=True
default 为字段设置默认值

ORM字段与MySQL字段对应关系

字段类型 描述 SQL数据类型
AutoField 整数自增列 integer AUTO_INCREMENT
BigAutoField 长整型自增列 bigint AUTO_INCREMENT
BinaryField 二进制数据字段 longblob
BooleanField 布尔字段 bool
CharField 字符字段 varchar(%(max_length)s)
CommaSeparatedIntegerField 逗号分隔的整数字段 varchar(%(max_length)s)
DateField 日期字段 date
DateTimeField 日期时间字段 datetime
DecimalField 十进制数字段 numeric(%(max_digits)s, %(decimal_places)s)
DurationField 时间间隔字段 bigint
FileField 文件路径字段 varchar(%(max_length)s)
FilePathField 文件路径字段 varchar(%(max_length)s)
FloatField 浮点数字段 double precision
IntegerField 整数字段 integer
BigIntegerField 长整数字段 bigint
IPAddressField IP地址字段 char(15)
GenericIPAddressField 通用IP地址字段 char(39)
NullBooleanField 可空布尔字段 bool
OneToOneField 一对一关系字段 integer
PositiveIntegerField 正整数字段 integer UNSIGNED
PositiveSmallIntegerField 正小整数字段 smallint UNSIGNED
SlugField Slug字段 varchar(%(max_length)s)
SmallIntegerField 小整数字段 smallint
TextField 文本字段 longtext
TimeField 时间字段 time
UUIDField UUID字段 char(32)

说明:

  • SQL数据类型根据给定信息列出。
  • %(max_length)s 表示该字段需要提供 max_length 参数。
  • %(max_digits)s%(decimal_places)s 表示该字段需要提供 max_digitsdecimal_places 参数。
posted @ 2024-03-23 00:49  小满三岁啦  阅读(2)  评论(0编辑  收藏  举报