Django框架使用mysql视图操作示例


Posted in Python onMay 15, 2019

本文实例讲述了Django框架使用mysql视图操作。分享给大家供大家参考,具体如下:

一.Mysql视图的创建

MySQL中,在两个或者以上的基本表上创建视图,例如:在StudentOrm表和InfoOrm表上,创建mysql_view_test_orm视图

1.首先,创建两张表

from django.db import models
# Create your models here.
class StudentOrm(models.Model):
  name = models.CharField(max_length=50)
  sex = models.CharField(max_length=50)
class InfoOrm(models.Model):
  classname = models.CharField(max_length=50)
  addr = models.CharField(max_length=50)

执行makemigrations, migrate,然后添加数据

2. 创建mysql_view_test_orm视图

Navicat有工具,语句略

Django框架使用mysql视图操作示例

3. 查看视图

Django框架使用mysql视图操作示例

二.Django中使用Mysql视图

通过Django的ORM来控制视图

1. 创建视图相关py文件

models.py相同的目录下新建一个.py文件,例如mysql_view_models.py,该文件的代码如下:

from .models import *
class StudentinfoInfoOrm(models.Model):
  name = models.CharField(max_length=50)
  sex = models.CharField(max_length=50)
  classname = models.CharField(max_length=50)
  addr = models.CharField(max_length=50)
  class Meta:
    db_table = 'mysql_view_test_orm'

注:这里的 db_table 要和mysql新建的视图的名字相同才行!

2. 视图查询

此时在views中就能正常使用django提供的数据库操作的方法了,即
StudentinfoInfoOrm.objects.all()

from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
from .mysql_view_models import StudentinfoInfoOrm
from django.core import serializers
def mysql_view_test(request):
  tempa = StudentinfoInfoOrm.objects.all()
  # tempa = StudentinfoInfoOrm.objects.filter(name="zhangkun")
  # tempa = StudentinfoInfoOrm.objects.filter(name="lc")
  data = serializers.serialize("json", tempa)
  return HttpResponse(data)

Django框架使用mysql视图操作示例

代码示例:

https://git.coding.net/kylecloud/testmysqlview.git

https://github.com/584807419/testmysqlview

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
python字符串替换示例
Apr 24 Python
Python实现批量把SVG格式转成png、pdf格式的代码分享
Aug 21 Python
Python中用Descriptor实现类级属性(Property)详解
Sep 18 Python
利用python程序生成word和PDF文档的方法
Feb 14 Python
Python程序包的构建和发布过程示例详解
Jun 09 Python
python中break、continue 、exit() 、pass终止循环的区别详解
Jul 08 Python
Python的互斥锁与信号量详解
Sep 12 Python
python不相等的两个字符串的 if 条件判断为True详解
Mar 12 Python
Jupyter Notebook折叠输出的内容实例
Apr 22 Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
Nov 05 Python
PyQt5 QThread倒计时功能的实现代码
Apr 02 Python
详解Python内置模块Collections
Mar 22 Python
scrapy-redis源码分析之发送POST请求详解
May 15 #Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 #Python
使用Python做定时任务及时了解互联网动态
May 15 #Python
Python使用统计函数绘制简单图形实例代码
May 15 #Python
详解Python3 对象组合zip()和回退方式*zip
May 15 #Python
python语言元素知识点详解
May 15 #Python
django admin后台添加导出excel功能示例代码
May 15 #Python
You might like
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
PHP实现根据浏览器跳转不同语言页面代码
2013/08/02 PHP
Prototype Function对象 学习
2009/07/12 Javascript
使用原生javascript创建通用表单验证——更锋利的使用dom对象
2011/09/13 Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
2013/05/07 Javascript
jQuery 隐藏和显示 input 默认值示例
2014/06/03 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
2015/03/02 Javascript
jQuery编程中的一些核心方法简介
2015/08/14 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
Bootstrap实现的经典栅格布局效果实例【附demo源码】
2017/03/30 Javascript
详解vuejs之v-for列表渲染
2017/06/22 Javascript
JS非空验证及邮箱验证的实例
2017/08/11 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
JS事件绑定的常用方式实例总结
2019/03/02 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
JS求解两数之和算法详解
2020/04/28 Javascript
js实现自定义右键菜单
2020/05/18 Javascript
[35:34]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
深入浅析Python字符编码
2015/11/12 Python
python数据类型之间怎么转换技巧分享
2019/08/20 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
Expedia爱尔兰:酒店、机票、租车及廉价假期
2017/01/02 全球购物
Ticketmaster意大利:音乐会、节日、艺术和剧院的官方门票
2019/12/23 全球购物
应届生.NET方向面试题
2015/05/23 面试题
医学生自我鉴定范文
2013/11/08 职场文书
管理心得体会
2013/12/28 职场文书
农村葬礼主持词
2014/03/31 职场文书
小学生通知书评语
2014/12/31 职场文书
2015入党自传格式范文
2015/06/26 职场文书
车辆管理制度范本
2015/08/05 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers