Django ORM------Mysql
ORM操作
select * from tb where id > 1
#对应关系
models.tb.objects.filter(id__gt=1)
models.tb.objects.filter(id=1)
models.tb.objects.filter(id__lt=1)
创建类
1.DB-first:根据类自动创建数据库表
#models.py
settings.py中要注册app
默认生成的表名为:#app01_userinfo
from django.db import models
#create your models here.
class UserInfo(models.Model):
#django会默认创建一个id列,自增,主键
#用户名列,字符串类型,指定长度
username = models.CharField(max_length=32)
password = models.CharField(max_length=64) 项目的settings->INSTALLED_APPS=[]中,添加app,如图: 然后命令行执行:
python manage.py makemigrations
python manage.py migrate #根据生成的py文件,直接生成数据库


项目settings.py->DATABASE={}中设置使用的数据库:默认连接sqlite

连接mysql配置文件:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'dbname',
'USER': 'root',
'PASSWORD': 'xxx',
'HOST': '',
'PORT': '',
}
}
***********注意***********
Django默认用Mysqldb模块连接mysql,所以会报错,应该修改为pymysql连接
在项目的__init__.py文件中,添加:
import pymysql
pymysql.install_as_MySQLdb()
models.py中增、删、改、查sqlite:
1.增
from django.db import models
class UserInfo(models.Model):
#id列、自增、主键
#用户名列,字符串类型,指定长度
username = models.CharField(max_length=32)
password = models.CharField(max_length=64)
models.py
from app01 import models
def orm(request):
models.UserInfo.objects.create( #往表中插入数据
username = 'root'
password = ‘123’
) return HttpResponse('orm') 创建数据的第二种方法
def orm(request): obj = models.UserInfo(username = 'alex', password = ‘123’) obj.save() #往表中插入数据 return HttpResponse('orm') 第三种方法:
def orm(request):
dic={'username':'Eric','password':''}
models.UserInfo.objects.create(**dic) #往表中插入数据 return HttpResponse('orm')
2.查
result = models.UserInfo.objects.all() #返回表里的所有数据 print(result) #result为QuerySet类型,由django生成,即列表 for row in result:
print(row.id,row.username,row.password) 或者: result = models.UserInfo.objects.filter(username='root')
查询
3.删除
models.UserInfo.objects.all().delete() #删除所有
models.UserInfo.objects.filger(id=4).delete() #删除id为4的记录
4.更新
models.UserInfo.objects.all().update(password='')
models.UserInfo.objects.filter(id=3).update(password='')
更新
2.Code-first:根据类对数据库表中的数据进行各种操作
一、概述
1、什么是数据库 ?
答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库
2、什么是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ?
答:他们均是一个软件,都有两个主要的功能:
- a. 将数据保存到文件或内存
- b. 接收特定的命令,然后对文件进行相应的操作
PS:如果有了以上软件,无须自己再去创建文件和文件夹,而是直接传递 命令 给上述软件,让其来进行文件操作,他们统称为数据库管理系统(DBMS,Database Management System)
3、什么是SQL ? HttpResponse 主要用于返回字符串类型的数据 def index(request): return HttpResponse('index页面') 在页面中就会显示 index页面 rend ... 作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 使用Python的Django模型的话,一般都会用它自带的ORM(Object-relational ma ... 在前一篇我们说了,mybatis-generator反向生成代码. 这里我们开始说如何在django中反向生成mysql model代码. 我们在展示django ORM反向生成之前,我们先说一下怎么 ... 一些说明: 表myapp_person的名称是自动生成的,如果你要自定义表名,需要在model的Meta类中指定 db_table 参数,强烈建议使用小写表名,特别是使用MySQL作为后端数据库时. ... 在py3.*中利用django使用mysql时,会出现一些问题.由于django默认的是 MySQLdb,但MySQLdb目前不支持py3.*所以我们要改用pymysql,首先要安装pymysql,命 ... 一些说明: 表myapp_person的名称是自动生成的,如果你要自定义表名,需要在model的Meta类中指定 db_table 参数,强烈建议使用小写表名,特别是使用MySQL作为后端数据库时. ... 1.django分表的方案: https://mp.weixin.qq.com/s?__biz=MjM5NjA3Nzk3Ng==&mid=2648154502&idx=1& ... 作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 使用Python的Django模型的话,一般都会用它自带的ORM(Object-relational ma ... Object Relational Mapping(ORM) 一,ORM介绍 1, ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象 ... 一.外键使用 在 MySQL 中,如果使用InnoDB引擎,则支持外键约束.(另一种常用的MyIsam引擎不支持外键) 定义外键的语法为fieldname=models.ForeignKey(to_c ... 昨天做了一道美团的面试题,要求是给N个数组,找出N个数组的公共子数组. ,,,,]; ,,,,]; ,,,,]; ,,,,]; 以上四个数组,有公共子数组2, 3,7 function main(){ ... 询问度娘搭好appium和python环境,开启移动app自动化的探索(基于Android),首先来记录下如何启动待测的app吧! 如何启动APP?1.获取包名:2.获取launcherActivit ... xor 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他语言1048576K 64bit IO Format: %lld 题目描述 Your are given n ... Node.js 是一个基于Chrome javascript 运行时建立的一个平台, 用来方便地搭建快速的 易于扩展的网络应用 Node.js 借助事件驱动, 非阻塞I/O 模型变得轻量和高效, 非常 ... NoSQL最早起源于1998年,但从2009年开始,NoSQL真正开始逐渐兴起和发展.回望历史应该说NoSQL数据库的兴起,完全是十年来伴随互联网技术,大数据数据的兴起和发展,NoSQL在面临大数据场 ... 本文总结ML面试常见的问题集 转载来源:https://blog.csdn.net/v_july_v/article/details/78121924 51.简单说下sigmoid激活函数 常用的非线 ... <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ... 1. LibSVM下载,安装 下载地址:http://www.csie.ntu.edu.tw/~cjlin/libsvm/,最新的版本是3.17 2. 入门 [heart_scale_label,he ... ALTER PROCEDURE [dbo].[usp_visit_detail](@siteid BIGINT, @Startime VARCHAR(15), @Endtime VARCHAR(15 ... https://www.cnblogs.com/zhisheng/p/9206758.html 在看的过程中有这么一条: [强制]SimpleDateFormat 是线程不安全的类,一般不要定义为 s ...
答:上述提到MySQL等软件可以接受命令,并做出相应的操作,由于命令中可以包含删除文件、获取文件内容等众多操作,对于编写的命令就是是SQL语句。SQL
Django ORM------Mysql的更多相关文章
随机推荐