ORM

ORM是什么?:(在django中,根据代码中的类自动生成数据库的表也叫--code first)

ORM:Object Relational Mapping(关系对象映射)

类名对应------》数据库中的表名

类属性对应---------》数据库里的字段

类实例对应---------》数据库表里的一行数据

obj.id obj.name.....类实例对象的属性

Django orm的优势:

Django的orm操作本质上会根据对接的数据库引擎,翻译成对应的sql语句;所有使用Django开发的项目无需关心程序底层使用的是MySQL、Oracle、sqlite....,如果数据库迁移,只需要更换Django的数据库引擎即可;

创建数据库类

models.py

#导包导入django数据库类
from django.db import models
#建立数据库类
class User(models.Model):
#主键 通过参数声明主键
id = models.IntegerField(primary_key=True)
#用户名 字符串类型需要声明长度限制
username = models.CharField(max_length=200)
#密码
password = models.CharField(max_length=100)
#时间字段
time = models.DateTimeField()
#图片
img = models.CharField(max_length=200)
#性别
gender = models.IntegerField() #声明表名
class Meta:
#必须和数据库中的表名吻合
db_table = "user"
#查询全部数据
res = User.objects.all()
#print(res) #查询限定条件的数据
res = User.objects.filter(username='新用户',password='你好')
#print(res) #只取一条
res_one = User.objects.get(id=1)
#print(res_one) #排除条件
res = User.objects.exclude(username='新用户') #定制字段显示
res_s = User.objects.filter(username='新用户').values('password') #排序
res = User.objects.filter(username='新用户').order_by("password").reverse() #去重
res_dis = User.objects.filter(username='新用户').values('username').distinct()
#print(res_dis) #取数量
res_count = User.objects.filter(username='新用户').count()
print(res_count)
#入库操作(增)
#建立实例
#user = User(username='新用户',password='你好')
#入库操作
#user.save()
#删除数据(删)
#User.objects.filter(username='新用户').delete() #修改数据(改) 第一种方式
#user = User.objects.get(id=9)
#修改字段
#user.username = '1234'
#保存修改
#user.save() #修改数据(改) 第二种方式
#return HttpResponse('',status=403) #User.objects.filter(id=9).update(password='新密码')
 
 

django中数据库的配置及相关增删改查的更多相关文章

  1. Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查

    本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...

  2. [Django框架 - 静态文件配置、request对象方法初识、 pycharm链接数据库、ORM实操增删改查、django请求生命周期]

    [Django框架 - 静态文件配置.request对象方法初识. pycharm链接数据库.ORM实操增删改查.django请求生命周期] 我们将html文件默认都放在templates文件夹下 将 ...

  3. IOS开发中使用CNContact\CNMutableContact 对通讯录增删改查

    IOS开发中使用CNContact\CNMutableContact 对通讯录增删改查 首先当然是把CNcontact包含在工程中: @import Contacts; 1.下面是增加联系人的程序段: ...

  4. Django框架(八)--单表增删改查,在Python脚本中调用Django环境

    一.数据库连接配置 如果连接的是pycharm默认的Sqlite,不用改动,使用默认配置即可 如果连接mysql,需要在配置文件中的setting中进行配置: 将DATABASES={} 更新为 DA ...

  5. Django框架(九)—— 单表增删改查,在Python脚本中调用Django环境

    目录 单表增删改查,在Python脚本中调用Django环境 一.数据库连接配置 二.orm创建表和字段 三.单表增删改查 1.增加数据 2.删除数据 3.修改数据 4.查询数据 四.在Python脚 ...

  6. django模型层之多表操作 增删改查

    多表操作之创建模型 这边以书为中心创建一个模型 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关系(on ...

  7. django模型层 关于单表的增删改查

    关于ORM MTV或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库, 通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员 ...

  8. Python Web实战:Python+Django+MySQL实现基于Web版的增删改查

    前言 本篇使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能,旨在快速入门Python Web,少走弯路.效果演示在项目实战最 ...

  9. mongodb windows的安装方法和添加到任务管理器中、检测是否成功、增删改查命令

    转: mongodb安装方法: https://blog.csdn.net/heshushun/article/details/77776706        mongodb检测安装成功 .以及增删改 ...

随机推荐

  1. git详细介绍

    Git管理我们的代码会经历三个不过程 1. 工作区:没有提交的代码就是存放的工作区 2. 暂存区:通过 git add 文件名 命令提交代码该文件就放在暂存区 3. 历史区:通过 git commit ...

  2. eureka 学习

    Eureka is a REST (Representational State Transfer) based service that is primarily used in the AWS c ...

  3. 为共享服务器配置Oracle数据库

    参考资料 https://docs.oracle.com/cd/E11882_01/server.112/e25494/manproc.htm#ADMIN00502

  4. CF1100F Ivan and Burgers

    题目地址:CF1100F Ivan and Burgers 一道有难度的线性基题,看了题解才会做 预处理两个数组: \(p_{r,i}\) 表示满足下列条件的最大的 \(l\) :线性基第 \(i\) ...

  5. webgl开发中添加IIS的mime类型

    1.在iis中直接设置 .obj application/octet-stream .mtl application/octet-stream 2.在配置文件中加 <?xml version=& ...

  6. HDOJ 1217 Arbitrage (最短路)

    题意:每两种货币之间都有不同的汇率  如果换回自己最后是赚的 输出Yes 否则是No 因为最多只有三十种货币 所以用Floyd是可行的 与一般的最短路板子不同的地方 汇率是要乘而不是加 如果乘上一个小 ...

  7. Scala 入门介绍

    1 基础 1.1 Scala 解释器 REPL - 交互式解释器环境 R(read).E(evaluate).P(print).L(loop) 输入值,交互式解释器会读取输入内容并对它求值,再返回结果 ...

  8. AUTOML --- Machine Learning for Automated Algorithm Design.

    自动算法的机器学习: Machine Learning for Automated Algorithm Design. http://www.ml4aad.org/ AutoML——降低机器学习门槛的 ...

  9. python3+selenium框架设计05-配置文件和浏览器引擎类

    python3配置文件的增删改查等操作可以使用内置的ConfigParser模块,可以自行百度学习,也可以看Python3学习笔记27-ConfigParser模块 配置文件一般存放着环境信息,比如u ...

  10. zepplin0.7.2报错ERROR, exception: null, result: %text java.lang.NullPointerException的处理

    zepplin0.7.2报错ERROR, exception: null, result: %text java.lang.NullPointerException的处理 问题描述: 使用zeppli ...