django 笔记4 数据库操作
django操作数据库
orm操作
select * from tb where id >
对应关系
models.tb.objects.filter(id__gt=)
models.tb.objects.filter(id=)
models.tb.objects.filter(id__lt=) 创建类
-根据类自动创建数据库表
#models.py操作
#######################################
from django.db import models
# Create your models here. #表名会默认为app01_userinfo
class UserInfo(models.Model):
#创建用户名列 字符串类型 指定长度
#默认会创建个id列 且自增 为主键
username = models.CharField(max_length=)
password = models.CharField(max_length=)
#######################################
python manage.py makemigrations No changes detected 表示要去找models 所以在settings中的 INSTALLED_APPS=[添加个app名称]
migrations记录了生成数据库表结构的一些数据0001_initial.py
python manage.py migrate 生成数据库且会生成表 -根据类对数据库表中的数据进行各种操作 若要改为MySQL连接 需要改settings 数据库配置文档 www.cnblogs.com/wupeiqi/articles/.html
DATABASES = {
'default':{
'ENGINE':'django.db.backends.mysql',
'NAME':'dbname',
'USER': 'root',
'PASSWORD': 'xx',
'HOST':'',
'PORT':''
}
}
注意:
MySQLdb模块在Python3是没有的
在project中的__init__.py 即settings同级的__init__.py文件添加
import pymysql
pymysql.install_as_MySQLdb() 增删改查
#################################################################
from app01 import models
def orm(request):
#创建数据的方法1 一行插入数据
models.UserInfo.objects.create(
username='root',
password=''
)
#创建数据的方法2
obj = models.UserInfo(username='ljc',password='')
obj.save() #创建数据方法3
dic = {'username':'eric', 'password':''}
models.UserInfo.objects.create(**dic)
return HttpResponse('orm') def select(request): #查找数据
result = models.UserInfo.objects.all() #表示所有数据都拿到
#result QuerySet 是Django提供的 可以理解为列表[]
#[obj1(id, username, password), obj2, obj3] 是UserInfo的对象
for row in result:
print(row.id,row.username, row.password) result = models.UserInfo.objects.filter(username="root") #查找条件 username='root'的 如果username,password 是and共同拥有
for i in result: print(i.username)
return HttpResponse(result[]) def delete(request): #删除数据
models.UserInfo.objects.filter(id=).delete() #filter类似where条件
return HttpResponse() def update(request): #修改数据
models.UserInfo.objects.all().update(password=) #将密码全部改为666
return HttpResponse()
#################################################################
django 笔记4 数据库操作的更多相关文章
- 关于Django中的数据库操作API之distinct去重的一个误传
转载自http://www.360doc.com/content/18/0731/18/58287567_774731201.shtml django提供的数据库操作API中的distinct()函数 ...
- Django【第5篇】:Django之ORM数据库操作
django之ORM数据库操作 一.ORM介绍 映射关系: 表名 -------------------->类名 字段-------------------->属性 表记录-------- ...
- 【Django】Django model与数据库操作对应关系(转)
Django对数据库的操作分用到三个类:Manager.QuerySet.Model. Manager的主要功能定义表级方法(表级方法就是影响一条或多条记录的方法),我们可以以models.Manag ...
- django之ORM数据库操作
一.ORM介绍 映射关系: 表名 -------------------->类名 字段-------------------->属性 表记录----------------->类实例 ...
- django基础之数据库操作
Django 自称是“最适合开发有限期的完美WEB框架”.本文参考<Django web开发指南>,快速搭建一个blog 出来,在中间涉及诸多知识点,这里不会详细说明,如果你是第一次接触D ...
- Django框架----ORM数据库操作
一.ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用 ...
- 用户增删改查 django生命周期 数据库操作
一 django生命周期 1 浏览器输入一个请求(get/post)2 响应到django程序中3 执行到url,url通过请求的地址匹配到不同的视图函数4 执行对应的视图函数,此过程可以查询数据库, ...
- ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )
//TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: publ ...
- Django简单的数据库操作
当然,本篇的前提是你已经配置好了相关的环境,这里就不详细介绍. 一. 在settings.py文件中设置数据库属性. 如下: DATABASES = { 'default': { 'ENGINE': ...
随机推荐
- go语言简单的执行shell命令
package main import( "fmt" "os/exec" "os" "string ...
- CF939F Cutlet (单调队列优化DP)
题目大意:要煎一块有两个面的肉,只能在一段k不相交的时间段$[l_{i},r_{i}]$内翻转,求$2*n$秒后,保证两个面煎的时间一样长时,需要最少的翻转次数,$n<=100000$,$k&l ...
- CF1005F Berland and the Shortest Paths (树上构造最短路树)
题目大意:给你一个边权为$1$的无向图,构造出所有$1$为根的最短路树并输出 性质:单源最短路树上每个点到根的路径 ,一定是这个点到根的最短路之一 边权为$1$,$bfs$出单源最短路,然后构建最短路 ...
- Java XSSF 导出excel 工具类
参数解释: title:导出excel标题.headers 导出到excel显示的列头. columns 对应数据库字段 .list 导出数据1.pox中添加依赖 <dependency> ...
- 紫书 习题8-19 UVa 1312 (枚举技巧)
这道题参考了https://www.cnblogs.com/20143605--pcx/p/4889518.html 这道题就是枚举矩形的宽, 然后从宽再来枚举高. 具体是这样的, 先把所有点的高度已 ...
- 洛谷—— P2983 [USACO10FEB]购买巧克力Chocolate Buying
https://www.luogu.org/problem/show?pid=2983 题目描述 Bessie and the herd love chocolate so Farmer John i ...
- reactor模式与java nio
Reactor是由Schmidt, Douglas C提出的一种模式,在高并发server实现中广泛採用. 改模式採用事件驱动方式,当事件出现时,后调用对应的事件处理代码(Event Handl ...
- linux下创建带password的用户
一直在做实验室linuxserver的账号管理系统,现阶段是用户申请后我这边收到邮件,然后手动创建,这个略显麻烦,打算全然做成自己主动化的.用户申请后,我直接在管理界面点击批准就可以创建用户,同一时候 ...
- LightOJ Trailing Zeroes (III) 1138【二分搜索+阶乘分解】
1138 - Trailing Zeroes (III) PDF (English) problem=1138" style="color:rgb(79,107,114)" ...
- 深入C++ new/delete,malloc/free解析
深入C++ new/delete,malloc/free解析 1.malloc与free是C++/C语言的标准库函数.new/delete是C++的运算符. 它们都可用于申请动态内存和释放内存 2.对 ...