Django之ORM操作(***)
Django之ORM操作(***)
http请求的流程:
url--> 视图view(模板渲染+数据库) -->返回给用户
ORM的功能:
可以转换SQL语句,并做操作。
ORM操作数据表:
-创建表:在models里写class类,生成数据表。class 类名(models.Model):
-修改表:修改字段名,可直接,添加字段,要设为字段为空或设默认值。
age = models.IntegerField(null=True) 设字段内容为空
age = models.IntegerField(default=1) 设字段内容默认
-删除表:
ORM操作数据行:
-增删改查
ORM需要理由pymysql第三方工具连接数据库。
默认连接:
Django默认连接SQlite,SQlite是文件型数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', #连接sqlite
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
ORM连接MySQL的是MySQLDB:
但是,py3里没有MySQLDB,所以要进行修改。修改Django默认连接MySQL方式。
配置数据库:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '数据库名称',
'USER':"xxxxx",
'PASSWORD':"xxxxxxx",
'HOST':"连接的主机ip,本地的写localhost,也可以不写",
'PORT':""
}
}
在项目名中的__init__ .py 加:这样,pymysql就会将内部的MySQLdb替换了。
import pymysql pymysql.install_as_MySQLdb()
注册APP数据库models:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'APPS.apps.AppsConfig',
]
生成数据库:
python manage.py makemigrations
python manage.py migrate
常用命令:
python manage.py runserver 0.0.0.0
python manage.py startapp appname
python manage.py syncdb
创建superuser:
python manage.py createsuperuser
--------- END -----------
Django之ORM操作(***)的更多相关文章
- Django之ORM操作
Django之ORM操作 前言 Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计 ...
- Django之ORM操作(聚合 分组、F Q)
Django之ORM操作(聚合 分组.F Q) 聚合 aggregate()是QuerySet的一个终止子句,也就是说,他返回一个包含一些键值对的字典,在它的后面不可以再进行点(.)操作. 键的名 ...
- 【Django】ORM操作#2
目录 必知必会的13条查询方法 单表查询之神奇的双下划线 一对多 ForeignKey 多对多 ManyToManyField 在Python脚本中调用Django环境 Django终端打印SQL语句 ...
- 【Django】ORM操作#1
目录 一.介绍 概念 由来 优势 劣势 总结 二.Django中的ORM Django项目使用MySQL Model 快速入门 1. AutoField 2. IntegerField 3. Char ...
- django的orm操作优化
django的orm操作优化 models.py from django.db import models class Author(models.Model): name = models.Char ...
- Django中ORM操作
ORM操作: class UserInfo(models.Model): username = models.CharField(max_length=32) password = models.Ch ...
- Django的ORM操作
ORM操作 select * from tb where id > 1 # 对应关系 models.tb.objects.filter(id__gt=1) models.tb.objects.f ...
- Django之ORM操作总结
Django之ORM总结 表结构 from django.db import models # 一对多:班级与学生 # 多对多:班级与老师 # Create your models here. #创建 ...
- Django之ORM操作(重要)
Django ORM操作 一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 <1> all(): 查询所有结果 <2> get(**kwargs): 返回与所给 ...
随机推荐
- 洛谷P4114 Qtree1(树链剖分+线段树)
传送门 LCT秒天秒地用什么树剖 这题可以算是树剖的比较裸的题目了 把每一条边的权值下放到他两边的点中深度较深的那个 然后直接用树剖+线段树带进去乱搞就可以了 //minamoto #include& ...
- Taro 小程序 自定义导航栏
在小程序中,有的页面需求可能需要我们做一个自定义的导航栏, 今天就来踩一踩坑 首先需要在app.js 中给全局的导航栏隐藏, // app.js window: { navigationStyle: ...
- js判断是否为ie浏览器,精确显示各个ie版本
function IETester(userAgent){ var UA = userAgent || navigator.userAgent; if(/msie/i.test(UA ...
- A - Supercentral Point CodeForces - 165A
One day Vasya painted a Cartesian coordinate system on a piece of paper and marked some set of point ...
- C plus plus sprintf用法
sprintf int sprintf ( char * str, const char * format, ... ); Write formatted data to string Compose ...
- Android 线程池系列教程(4) 启动线程池中的线程和中止池中线程
Running Code on a Thread Pool Thread 上一课 下一课 1.This lesson teaches you to Run a Runnable on a Thre ...
- 1475 建设国家 DP
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1475 这题转化过来就是,给定n个点,每个点都有一个过期时间,一个价值.现 ...
- 获取select里面option所有的值
1.HTML结构 <select id="test"> <option value="option-1">option-1</op ...
- RFTWEB测试对象抓取的方法
本文转自:http://feiyeguohai.iteye.com/blog/1468576 Rational Functional Tester (RFT) 作为 IBM 自己设计研发的自动化测试工 ...
- Mybatis 分页插件 PageHelper
话不多说,直接导入.部署流程. 1. 引入插件依赖包: maven工程中,pom.xml文件下,添加插件配置项: 2. 配置插件拦截器: webapp -> WEB-INF 下添加 .xml配置 ...