1. IntegerField : 整型,映射到数据库中的int类型。
  2. CharField: 字符类型,映射到数据库中的varchar类型,通过max_length指定最大长度。
  3. TextField: 文本类型,映射到数据库中的text类型。
  4. BooleanField: 布尔类型,映射到数据库中的tinyint类型,在使用的时候,传递True/False进去。如果要可以为空,则用NullBooleanField。
  5. DateField: 日期类型,没有时间。映射到数据库中是date类型,
    在使用的时候,可以设置DateField.auto_now每次保存对象时,自动设置该字段为当前时间。设置DateField.auto_now_add当对象第一次被创建时自动设置当前时间。
  6. DateTimeField: 日期时间类型。映射到数据库中的是datetime类型,
    在使用的时候,传递datetime.datetime()进去。

例子理解

执行生成映射文件的命令后,查看数据表

Field字段常用的参数

  • primary_key: 指定是否为主键。
  • unique: 指定是否唯一。
  • null: 指定是否为空,默认为False。
  • blank: 等于True时form表单验证时可以为空,默认为False。
  • default: 设置默认值。
  • DateField.auto_now: 每次修改都会将当前时间更新进去,只有调用,QuerySet.update方法将不会调用。这个参数只是Date和DateTime以及TimModel.save()方法才会调用e类才有的。
  • DateField.auto_now_add: 第一次添加进去,都会将当前时间设置进去。以后修改,不会修改这个值

对于CharField必须设置 max_length

常用的查询方法:


常用的查询条件:

  • first() 获取第一条 返回的是对象

    • last() 获取最后一条 返回的也是一个对象
      思考:排序规则? 默认通过主键。通过_meta 设置

    • get(**kwargs) 根据给定的条件,获取一个对象,如果有多个对象符合,保存

    • all() 获取所有记录 返回的是queryset

    • filter(**kwargs) 根据给定的条件,获取一个过滤后的queryset,多个条件使用and连接。

    • exclude(**kwargs) 跟filter使用方法一致,作用想反,它是排除。

    • 多条件的OR连接 用到Q对象,django.db.models.Q

    • values(*fields) 返回一个queryset,返回一个字典列表,而不是数据对象。

    • only(*fiels) 返回querySet ,对象列表,注意only一定包含主键字段

    • defer(*fields) 返回一个QuerySet,作用和only相反

    • order_by(*fields) 根据给定的字段来排序 默认是顺序,字段名前加上 ‘-’代表反序

    • 切片 和python的列表切片用法相似,不支持负索引,数据量大时不用步长
      *** 切片过后,不再支持,附加过滤条件与排序

  • 常用查询条件 filter,exclude, get
    • exact
    • iexact
    • contains
    • icontains
    • in
    • range
    • gt
    • gte
    • lt
    • lte
    • startswith
    • istartswith
    • endswith
    • iendswith
    • isnull True False 对应 IS NULL IS NOT NULL
  • 聚合
    from django.db.models import Count, Avg, Max, Min, Sum
    通过queryset的aggregate方法
    Student.objects.aggregate(age_avg=Avg(‘age’)) # 计算平均年龄

    • count
    • 平均值 Avg

django常用的模型字段类型和常用的查询相关推荐

  1. 数据库中html数据类型,常用数据库的字段类型及大小

    Oracle/MSSQL/Mysql 常用数据库的字段类型及大小 ORACLE的数据类型 常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字符串 最大长度2000 ...

  2. Oracle/MSSQL/Mysql 常用数据库的字段类型及大小

    Oracle/MSSQL/Mysql 常用数据库的字段类型及大小 ORACLE的数据类型 常用的数据库字段类型如下:   字段类型   中文说明   限制条件   其它说明   CHAR  固定长度字 ...

  3. django系列3—数据库字段类型

    字段类型 字段类型指使用Django ORM创建数据库时支持的数据字段类型. 常用字段 (1) AutoField 自增的整型字段,必填参数primary_key=True,则成为数据库的主键,无该字 ...

  4. Django 模型 —— 字段类型

    模型字段参考 本文档包含 Field 类的所有 API 参考,包括 字段操作 和 字段类型. 参见 若内置字段未满足需求,你可以试试 django-localflavor (文档),它包含了针对各别国 ...

  5. 达梦数据库查看某个表的字段类型、常用数据库驱动类名以及URL

    达梦数据库查看某个表的字段类型 select * from all_tab_columns where Table_Name='T_FILES' AND OWNER='WJW'; 注:Table_Na ...

  6. oracle+资料类型不一致吗,oracle数据库中,字段类型不一致,导致查询慢

    最近一个WEBSERVICE突然变慢了,后查询发现,后台查询也非常慢(记录条数800多万),索引也有,如下语句 SELECT P.ID,P.RECORD_ID,P.KEY_NAME,P.KEY_CON ...

  7. 字段类型 mysql_mysql 常用字段类型

    tinyint[(m)] [unsigned] [zerofill] 1字节 极小整数,数据类型用于保存一些范围的整数数值范围: 有符号: -128 - 127. 无符号: - 255 特别的: My ...

  8. mysql 常用字段类型_mysql 常用字段类型

    tinyint[(m)] [unsigned] [zerofill] 1字节 极小整数,数据类型用于保存一些范围的整数数值范围: 有符号: -128 - 127. 无符号: - 255 特别的: My ...

  9. mysql yn 字段类型_mysql常用数据类型

    1.整数型 1.1.INT(M)[Unsigned] 数值型整数 INT数据类型用于保存从- 2147483647 到2147483648范围之内的任意整数数据. 如果用户使用Unsigned选项,则 ...

最新文章

  1. 计算机网络试题大连工业大学,2016大连工业大学计算机网络考研大纲
  2. c语言不可见字符的ascii,转CHAR不可见字符
  3. 统计字符串中某个字出现的次数
  4. MATLAB用递归法求解集合子集,用递归法求一个集合的子集c语言,急!!!
  5. CentOS 6.3下Apache+SVN部署Web版本同步
  6. Trusted Execution Technology (TXT) --- 启动控制策略(LCP)篇
  7. 【Python - OpenCV】数字图像项目实战(四) - 位姿估计
  8. 天刀手游不显示服务器列表,天涯明月刀手游服务器bug解决方法
  9. Caltech-UCSD Birds-200-鸟类数据集
  10. 前端校招该考察什么?一个面试官的思考
  11. UE4使用委托实现Actor之间的通信
  12. 【Beta】Scrum Meeting 7 与助教谈话
  13. 识图在线识图_三个图片无损放大在线工具分享,把模糊图片变清晰
  14. 解决“A problem occurred starting process 'command ''D:\AndroidSdk\..\mips64el-linux-android-strip''的问题
  15. 计算机组成原理——TEC-2储存器实验
  16. 【CentOS 7 Web服务器配置】
  17. 软件项目管理实验作业(二)
  18. linux安装svn使用解压包的方式
  19. Python——几个常用的数学函数
  20. 青岛市智能停车一体化平台项目介绍

热门文章

  1. php mysql 查询 区分大小写_MySQL查询字符串时区分大小写
  2. Matlab画图中的小技巧
  3. MTK DDR不能兼容分析
  4. Android中Touch事件分析--解决HorizontalScrollView滑动和按钮事件触发问题
  5. 如何用express+node+ejs 搭建一个简单的页面
  6. java总结:double取两位小数的多种方法
  7. 负载测试与压力测试的区别
  8. ClangFormat代码格式化
  9. MSMQ 安装问题的解决过程
  10. HP6531s安装windows2003无法调节亮度的解决方法