-1 表模型如果不写主键,orm会自动创建一个主键

-2 常用

AutoField

int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。

IntegerField

一个整数类型,范围在 -2147483648 to 2147483647。

CharField

字符类型,必须提供max_length参数, max_length表示字符长度。

DateField

日期字段,日期格式  YYYY-MM-DD,相当于Python中的datetime.date()实例。

DateTimeField

日期时间字段,格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],相当于Python中的datetime.datetime()实例

BooleanField

-对到数据库int类型

-不常用

SmallIntegerField

TextField:大文本

EmailField:虽然写的是email,存的时候,只要是字符串就可以(admin内的校验)

FileField(Field):存文件

DecimalField

-orm字段参数

-null

-unique:唯一性约束

-db_index:给某个字段加索引

-default

- DateField和DateTimeField

# auto_now_add=True 表示我要新增一条数据,自动设成当前时间

# auto_now=True    只要修改,就更新成当前时间

-关系字段:

-ForeignKey

-to

-to_field

-related_name: 基于双下划线的跨表查询,修改反向查询的字段

-related_query_name: 基于对象的跨表查询,修改反向查询字段

-on_delete:

在删除的时候,做什么操作

-models.CASCADE 可以级联删除(lqz觉得不好)

-models.SET_NULL (lqz推荐用它)

-models.SET_DEFAULT

-OneToOneField

-同ForeignKey

-ManyToManyField

-自关联(自己关联)

-评论表

id  user   article  content   parent_id

1   1      1         你好       null

2   2      1         傻逼        1

-多对多关系自动,手动创建第三张表(中介模型)

第一种:全部手动创建,book跟author没有关联关系(不好,不建议使用)

第二种:自动创建第三张表(不太好,第三张表如果有其它字段,就不行了)

第三张:手动创建第三张表,并且用ManyToMany关联,所有的查询跟之前一样,只是增,删,改,需要通过表模型来处理

-db_constraint=False

-only和defer

# 总结

# only和defer 返回结果是queryset对象内包裹表模型的对象

# only,就是只查我指定的字段,一定会包含id   注意:没查的字段不要再用了

# defer,指定不取哪个字段,一定会包含id     注意:没查的字段不要再用了

转载于:https://www.cnblogs.com/zhouhai007/p/10279420.html

Django表中的字段相关推荐

  1. MySQL数据库使用连接更新表中某个字段数据

    连接更新表中数据使用: update .. join .. 语句 上一篇博文创建了一个商品分类表(good_cates),并完成了商品分类信息的插入,如果需要更新goods表中的商品分类信息,把商品分 ...

  2. mysql获取两个表中日期字段的最小差值

    一.前言 开发中碰到的需求,获取两个数据表中日期字段的差值,并且取得差值最小的那条数据.本篇文章主要讲述如果通过函数获取mysql的日期差值,实际编写时遇到的问题,并且分析需求,得出最终sql等. 二 ...

  3. 对比两个表中,字段名不一样的SQL

    需要包括有几种情况 一.A表中有的字段B表无 二.B表有的A表无 三.两个表字段名不一致的 ------------------------------------------------------ ...

  4. 【MySQL】 批量修改数据表和数据表中所有字段的字符集

    查询某个数据库所有表名的语句: # 更改 DATABASE_NAME SELECT TABLE_NAME from information_schema.`TABLES` WHERE TABLE_SC ...

  5. mysql 5.5 替换字符_Mysql 5.7替换表中某些字段的字符串

    很多时候在做资源迁移的时候,路径改变,存在数据库的资源文件的路径也会跟着改变,所以需要替换存放路径的字符串,如何快速的替换表中的字段的这些字符串呢? 1. 可以通过MySQL的replace函数 re ...

  6. 读取数据库名及表与表中的字段

    选择一个服务器后,列出该服务器中所有数据库: Select * from Master.dbo.sysdatabases; 选择一个库后读该库中表: select * from dbo.sysobje ...

  7. mysql查询含有某个值的表_MYSQL查询数据表中某个字段包含某个数值

    当某个字段中字符串是"1,2,3,4,5,6"或者"123456" 查询数据表中某个字段是否包含某个值 1:模糊查询  使用like select * from ...

  8. c++获取sqlite3数据库表中所有字段的方法

    常用方法: 1.使用sqlite3_get_table函数 2.获取sqlite创建表的sql语句字符串,然后进行解析获取到相应的字段 3.采用配置文件的方式,将所有字段名写入配置文件 方法1:使用s ...

  9. 如何更新mysql数据库字段_如何使用MySQL一个表中的字段更新另一个表中字段

    1,修改1列 update student s, city c set s.city_name = c.name where s.city_code = c.code; 2,修改多个列 update ...

  10. mysql 数据类型怎么用,myMySQL数据库怎么更改表中某字段的数据类型? MySQL数据库使用教程...

    在mysql中,可以使用"ALTER TABLE"语句配合"MODIFY"关键字来更改表中某字段的数据类型:语法格式"ALTER TABLE MODI ...

最新文章

  1. matplotlib.pyplot.scatter API
  2. springAOP编程-aspectJ开启注解自动代理
  3. cpanel重启PHP服务_8款基于Web控制面板的服务器管理工具,开源免费,系统管理员利器...
  4. .net连接mysql数据_.net连接MYSQL数据库 转载
  5. Redis实现分布式Session管理
  6. 主板和机箱的螺丝_铝镁合金外壳,双侧透设计,乔思伯TR03-A机箱 装机体验
  7. C#设计模式之二十一访问者模式(Visitor Pattern)【行为型】
  8. 2023计算机毕业设计SSM最新选题之javaEE的仓库管理系统93c6b
  9. 制作自己的个人博客网站
  10. java 归一化_归一化方法实现(数据类型转换)
  11. 使用Photoshop制作相框
  12. Linux编辑grldr文件,使用syslinux完美引导GRLDR。
  13. 单节点Elasticsearch健康状态为 yellow
  14. Linux系统软件安装及项目发布
  15. JAVA算法:李白遇花喝酒游戏JAVA DFS 算法设计
  16. javaScript搜索框
  17. 计算机网络第五章(谢希仁)--运输层 思维导图
  18. ADO数据库连接中的Persist Security Info参数的作用
  19. 【机器学习】自然语言处理中的关键技术
  20. 基于uml的大学图书馆图书信息管理系统设计实验_气味图书馆 | 这些学校的#后悔没读#和#还想再读#系列...

热门文章

  1. J2EE项目中异常处理
  2. JAVA 蹒跚自学之 第七日 数组选择 冒泡排序优化
  3. Square(hdu 1511)
  4. [转载]在vim中针对c++自动补全
  5. Word插入公式中如何编辑 argmin
  6. AIS 2021顶级论文报告会论文征集与听众报名通知
  7. 如何在基于Aspect的情感分析中结合BERT和语法信息
  8. xgboost的原理没你想像的那么难
  9. 如何快速水一篇NLP论文?
  10. 每日算法系列【LeetCode 495】提莫攻击