一、ORM-操作
基本操作包括增删改查,即(CRUD)操作
CRUD是指在做计算处理时增加(create)、读取查询(read)、更新(update)、删除(delete)
ORM CRUD 核心 - > 模型类管理对象
 
二、管理器对象
每个继承自models.Model的模型类,都会有一个objects对象被同样继承下来,这个对象叫管理器对象
 
数据库的增删改查可以通过模型的管理器实现
 
三、创建数据
Django ORM 使用一种直观的方式把数据库表中的数据表示成python对象
创建数据中每一条记录就是创建一个数据对象
方案1.MyModel.objects.create(属性1=值1,属性2=值2...)

方案2. 创建MyModel实例对象,并调用save进行保存
obj = MyModel(属性=值,属性=值)
obj.属性=值
obj.save()
四、Django Shell
在Django提供了一个交互式的操作项目叫做Django Shell 它能在交互模式用项目工程的代码执行相应的操作
利用Django shell 可以代替编写view的代码来直接进行操作
注意:项目代码发生变化时,重新进入Django shell
 
启动方式: 项目下 python3 manage.py shell
 
使用方式1
在shell内 导入需要操作的model
from 应用名.models import 模型类名
s = Book.objects.create(title='python')
然后会数据库插入一条title为python的数据
使用方式2.
在shell内 导入需要操作的model
from 应用名.models import 模型类名
s = Book(title='python')
s.title = 'python'
s.save()
然后会数据库插入一条title为python的数据
在views视图可以用同样的方式进行数据库操作
 
 
五、查询简介
数据库的查询需要使用管理器对象进行
通过MyModel.objects管理器方法调用查询方法
只要是模型类,就有objects对象
 
常用方法:
常用方法:
all()
用法:MyModel.objects.all()
作用:查询MyModel实体中所有的数据
等同于select * from table;
返回值:QuerySet容器对象内部存放MyModel实例 values('列1','列2'..)
用法:MyModel.objcts.values(..)
作用:查询部分列的数据并返回
等同于select 列1,列2 from xxx
返回值:QuerySet
返回查询结果容器,容器内存字典,每个字典代表一条数据
格式:{'列1':值1,'列2':值2} values_list('列1','列2'..)
用法:MyModel.objects.values_list()
作用:返回元组形式的查询结果
等同于 select 列1,列2 from xxx
返回值:QuerySet容器对象,内部存放元组
会将查询出来的数据封装到元组中,再封装到查询集合QuseySet中 order_by()
用法:MyModel.object.order_by('-列','列')
作用:与all()方法不同,它会用sql语句order by子句对查询结果根据某个字段选择性的进行排序
说明:默认是按照升序排序,降序排序需要在列名前面加 ‘-’表示 MyModel.query:可以输出对应方法对应的sql语句
 
在模型类中定义__str__方法,可以自定义QuerySet中的输出格式
def __str__(self):
return f'{self.title}{self.name}'
 

11.-ORM-基本操作-创建数据的更多相关文章

  1. pandas学习(创建数据,基本操作)

    pandas学习(一) Pandas基本数据结构 Series类型数据 Dataframe类型 基本操作 Pandas基本数据结构 两种常用数据结构: Series 一维数组,与Numpy中的一维ar ...

  2. A.CTable 自动创建数据表

    1.添加依赖 <!-- A.CTable 自动创建数据表 --> <dependency> <groupId>com.gitee.sunchenbin.mybati ...

  3. ORM基本操作回顾

    连接数据库 默认是MySQLdb 指定引擎 dialect[+driver]: //user:password@host/dbname[?key=value..]: from sqlalchemy i ...

  4. 9.11 翻译系列:数据注解特性之--Timestamp【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/TimeStamp-dataannotations-attribute-in-code- ...

  5. 创建数据表,自定义data element, field等。

    参考:https://wenku.baidu.com/view/253ddbfaa5e9856a561260da.html 一:创建域. 使用T-CODE 11 搜索 数据操作系统. 选择domain ...

  6. 模拟主库创建数据文件,dg备库空间不足时问题处理

    本篇文档测试目的: 模拟实际环境中,主库对表空间添加数据文件,备库空间不足,最终导致MRP进程自动断开,处理方式. 1.问题环境模拟 1)正常情况下的dg 主库创建数据文件,备库接受日志,自动创建表空 ...

  7. mysql之创建数据库,创建数据表

    写在前面 项目中用到mysql数据库,之前也没用过mysql,今天就学下mysql的常用的语法,发现跟sql server的语法极其相似.用起来还是蛮简单的. 一个例子 1.创建一个名为School的 ...

  8. ORM之创建数据库

    ORM之创建数据库 样板:创建表名为UserInfo的表,表的主键可自行写,Django的ORM也可自行创建. from django.db import models class UserInfo( ...

  9. SpringBoot+Mybatis 自动创建数据表(适用mysql)

    Mybatis用了快两年了,在我手上的发展史大概是这样的 第一个阶段 利用Mybatis-Generator自动生成实体类.DAO接口和Mapping映射文件.那时候觉得这个特别好用,大概的过程是这样 ...

随机推荐

  1. Spring源码 14 IOC refresh方法9

    参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...

  2. 虚拟机kali端口映射外网vps

    前言:我们常用的kali系统一般都是在虚拟机里面运行,这样在真实环境中外网是访问不到你的kali攻击机的,这时候我们就需要给kali映射一个外网vps. 一.在vps启动frp 服务端 安装frp并解 ...

  3. Aoac唤醒的软件方案

    Aoac唤醒 这篇文章包含了Win10下的Aoac唤醒和Win11下的Aoac唤醒的不同地方,在结尾处: 从Win10时代开始,通过软件来唤醒机器是一个很常见的事情了,但是很少有文档去将如何通过AOA ...

  4. java基础———标识符和关键字

    标识符以字母开头  (A-Z)或(a-z)    美元符($)     下划线(_) 不能以关键字作为变量名或者方法名 标识符大小写不能混淆 可以中文(不建议) 常用的关键字

  5. node前后端交互(Express)

    1. Express框架是什么 1.1 Express是一个基于Node平台的web应用开发框架,它提供了一系列的强大特性,帮助你创建各种Web应用.我们可以使用 npm install expres ...

  6. 第七十七篇:ref引用(在vue中引用组件实例)

    好家伙, 为方便理解, 我们先来写一个经典自增一按钮, 再加上一个count清零按钮, Left.vue组件中: <template> <div > <h1>我是L ...

  7. 【debug】 Linux中top的使用

    在我们日常的开发中,我们经常需要查看每个线程的cpu使用情况.其实,在linux中,top也是我们查看cpu使用状况的一个好帮手 top:先查看每一个进程的使用状况 我们可以发现PID:3800这个经 ...

  8. 并发原理 — CPU原子性指令(一)

    本篇文章将以Intel CPU作为讨论基础 一.并发的由来 一台计算机有2个cpu,其中CPU1执行程序A,CPU2执行程序B,由于程序A和程序B是两个不同的应用程序,所以它们两个之间并不存在并发问题 ...

  9. Minio设置永久下载链接

    目前了解到的有如下两种方法 建议采用第二种办法 第一种方法:设置Access Policy为public 不论文件是否已经操作过分享动作,只要存储桶中有这个文件就能通过如下形式直接访问: http:/ ...

  10. rook-ceph说明

    cluster.yaml文件 文件中有几个地方要注意: dataDirHostPath: 这个路径是会在宿主机上生成的,保存的是ceph的相关的配置文件,再重新生成集群的时候要确保这个目录为空,否则m ...