当前位置: 首页 > news >正文

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())

相关文章:

  • 题解:CF886E Maximum Element
  • 数字化转型下的农田安防新布局,视频监控汇聚系统EasyCVR打造农田可视化综合管理方案
  • 发现“横”字手写有难度,对比两个“横”字
  • 【信息系统项目管理师】高分论文:论信息系统项目的沟通管理(网管改造工程)
  • b站PC网页版视频播放页油猴小插件制作
  • 钧瓷收藏防坑指南:如何科学评估与理性收藏
  • Flink介绍——实时计算核心论文之Kafka论文详解
  • MCP认证难题破解
  • 文件上传Ⅰ
  • pgsql中使用jsonb的mybatis-plus和jps的配置
  • 微信小程序调用yolo目标检测模型
  • 仿腾讯会议项目开发——网络嵌入
  • AWS Elastic Beanstalk的部署Python Flask后端服务(Hello,World)
  • Hadoop的三大结构及其作用?
  • 计算机基础 | 常见进制与单位简介 / 表示 / 描述
  • 医疗行业如何构建合成数据平台?——技术、合规与实践全景
  • 数据结构-Map和Set
  • 第 8 期:条件生成 DDPM:让模型“听话”地画图!
  • 元宇宙概念兴起,B 端数字孪生迎来哪些新机遇?
  • 考研408第一章计算机系统概述——1.1-1.2操作系统的基本概念与发展历程
  • 最大规模的陈逸飞大展启幕:回望他,回望一个时代
  • 无视规范开“远端”、企业云端被窃密,国安部:莫让运维成运“危”
  • 马上评丨电子屏不如黑板?解决问题不能靠怀旧
  • 福建一季度GDP为13232.38亿元,同比增长5.7%
  • 乍嘉苏改扩建项目迎来新进展!预应力管桩首件施工顺利完成
  • 全总:五一拟表彰全国劳模先进工作者2426名,盛李豪入选