ORM增删改查


目录
  • orm(对象关系映射)
      • 字段介绍
      • 属性介绍
    • django 连接mysql顺序
      • 1 settings配置文件中
      • 2 项目文件夹下的init文件中写上下面内容,
      • 补充
      • 3 models文件中创建一个类(类名就是表名)
      • 4.执行数据库同步指令,
      • 5 创建记录
      • 6.字段约束
    • 数据库的操作(django)
      • 增:
      • 时间问题
      • 批量插入(bulk_create)
      • form表单提交之字典
      • 查询api
        • 1.all()
        • 2.filter条件查询
        • 3.get()
        • 4.exclude()#排除
        • 5.order by()排序
        • 6.reverse() 反转
        • 7.count()
        • 8.first()
        • 9.last()
        • 10.exists()
        • 11.values
        • 12.values_list
        • 13.distinct()
      • filter双下划线查询
    • 多表查询
      • 表结构
      • 注意事项
      • 多对多关系
      • 一对一关系
      • 多对一
      • 外键
    • admin使用超级管理员
      • 1.连接数据库
      • 2.创建超级管理员
      • 增删改查
      • 增加
        • 一对一
        • 一对多
        • 多对多
      • 删除
        • 一对一
        • 一对多
        • 多对多
      • 基于对象的跨表查询
        • get和filter的区别
        • 反向查询和正向查询的区别
      • 一对一
      • 一对多
      • 多对多
        • 关于多对多正向反向查询的的解释
        • 具体事例
    • 基于双下划线的跨表查询(join)
      • 写法
        • 返回多个值
      • 一对一
      • 一对多
      • 多对多
    • related_name
    • 聚合查询
      • 注意
      • 用法
      • 示例
    • 分组查询
      • 原生sql语句
      • 用法
    • F查询
      • 用法
    • Q查询
      • 写法
      • 用法
    • orm执行原生sql语句
      • 自定义sql语句
  • cookie
    • cookie的使用
      • 通过js设置cookie
      • path的作用
    • 简单博客登陆
    • 检查数据的库的密码是否正确
    • 应用场景
  • session
      • 依赖cookie
    • 在空间中如何想要设置值:
      • session中的数据是根据用户相互隔离每个都是独立的
    • 应用场景
    • session和cookie的区别
    • 扩展 修改session默认存储位置
        • 文件
        • 缓存(内存)
      • 缓存(redis)
    • 简单博客登陆(session)
      • 检查数据的库的密码是否正确
    • 操作session
      • 扩展 django和session相关的配置
      • django中的session如何设置过期时间?

orm(对象关系映射)

对象是指 orm的models类名实例化的对象

关系是指 orm中的数据模型和数据库的关系

类----------------》表          #models.py中的类对应数据库中的表
对象--------------》记录(数据行)  #obj=models.User.objects.get(id=1) obj对应数据库表中的行数据
属性--------------》字段         #models.py类中的属性对应数据库表中的字段

映射 orm其实就是将models.类名.object.filter类对象的语法通过orm翻译翻译成sql语句的一个引擎

字段介绍

'''
 
<1> CharField
        字符串字段, 用于较短的字符串.
        CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层限制该字段所允许的最大字符数.
 
<2> IntegerField
       #用于保存一个整数.
 
<3> DecimalField
        一个浮点数. 必须 提供两个参数:
         
        参数    描述
        max_digits    总位数(不包括小数点和符号)
        decimal_places    小数位数
                举例来说, 要保存最大值为 999 (小数点后保存2位),你要这样定义字段:
                 
                models.DecimalField(..., max_digits=5, decimal_places=2)
                要保存最大值一百万(小数点后保存10位)的话,你要这样定义:
                 
                models.DecimalField(..., max_digits=17, decimal_places=10) #max_digits大于等于17就能存储百万以上的数了
                admin 用一个文本框()表示该字段保存的数据.
 
<4> AutoField
        一个 IntegerField, 添加记录时它会自动增长. 你通常不需要直接使用这个字段;
        自定义一个主键:my_id=models.AutoField(primary_key=True)
        如果你不指定主键的话,系统会自动添加一个主键字段到你的 model.
 
<5> BooleanField
        A true/false field. admin 用 checkbox 来表示此类字段.
 
<6> TextField
        一个容量很大的文本字段.
        admin 用一个