欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > Django ORM 定义模型

Django ORM 定义模型

2025/4/19 7:08:37 来源:https://blog.csdn.net/weixin_38667984/article/details/147272253  浏览:    关键词:Django ORM 定义模型

提示:定义模型字段的类型

文章目录

  • 一、字段类型
  • 二、字段属性
  • 三、元信息


一、字段类型

  1. 常用字段
字段名描述备注
AutoFieldint 自增必填参数 primary_key=True,无该字段时,django自动创建一个 BigAutoField,一个model不能有两个AutoField字段(不建议手动指定主键)
BooleanField布尔值为True,False
NullBooleanField布尔值为Null,True,False 已弃用(BooleanField(null=True))
CharField字符串必须提供max_length参数
TextField文本
IntegerField整型SmallIntegerField(短整型),BigIntegerField(长整型),PositiveIntegerField(正整型),PositiveSmallIntegerField(短正整型)
DecimalField10进制浮点数max_digits表示总位数,decimal_places表示小数
FloatField浮点数
DateField日期(YYYY-MM-DD)auto_now:每次修改时修改为当前日期时间。auto_now_add:新创建对象时自动添加当前日期时间(相当于Python中的datetime.date的实例)
DatetimeField日期(YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ])相当于Python中的datetime.datetime实例
FileField文件字段数据库本质为路径保存
OneToOneField关系字段用于定义一对一关系
ForeignKey关系字段用来定义多对一关系
ManyToManyField关系字段用于定义多对多关系

二、字段属性

参数描述备注
nullTrue:允许存储 NULL 值默认False(控制数据库存储,是否允许存储 NULL 值)
blankTrue:允许为空字符串默认False(控制表单验证,是否允许在表单中留空)
db_column字段名称通常不需要手动指定
db_indexTrue:创建索引默认False
default默认值
primary_keyTrue:主键每个模型只能有一个字段设置 primary_key=True,通常 Django 会自动添加 AutoField 或 BigAutoField 作为主键
uniqueTrue:唯一值默认False
max_length最大长度
max_digits浮点型最大长度
decimal_places小数点位数
auto_now获取的是当前时间
choices序列STATUS_CHOICES = [(0, ‘java’), (1, ‘python’)] (在表单中会显示为下拉框)
help_text帮助文本表单中显示的帮助文本,用于提供字段的说明

三、元信息

ORM对应的类里面包含另一个Meta类,而Meta类封装了一些数据库的信息。主要字段如下:

参数描述
db_tableORM在数据库中的表名默认是 app_类名,可以通过db_table可以重写表名
index_together联合索引
unique_together联合唯一索引
ordering字段排序(设置该属性,查询到的结果才可以被reverse())

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词