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

yipeiwu_com6年前Python基础

本文实例讲述了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有工具,语句略

3. 查看视图

二.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)

代码示例:

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

https://github.com/584807419/testmysqlview

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

相关文章

Python 用三行代码提取PDF表格数据

Python 用三行代码提取PDF表格数据

从 PDF 表格中获取数据是一项痛苦的工作。不久前,一位开发者提供了一个名为 Camelot 的工具,使用三行代码就能从 PDF 文件中提取表格数据。 PDF 文件是一种非常常用的文件格...

在Python下进行UDP网络编程的教程

在Python下进行UDP网络编程的教程

TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据。相对TCP,UDP则是面向无连接的协议。 使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据...

Django使用Channels实现WebSocket的方法

Django使用Channels实现WebSocket的方法

WebSocket - 开启通往新世界的大门 WebSocket是什么? WebSocket是一种在单个TCP连接上进行全双工通讯的协议。WebSocket允许服务端主动向客户端推...

利用OpenCV和Python实现查找图片差异

利用OpenCV和Python实现查找图片差异

使用OpenCV和Python查找图片差异 flyfish 方法1 均方误差的算法(Mean Squared Error , MSE) 下面的一些表达与《TensorFlow - 协方...

使用Python脚本和ADB命令实现卸载App

使用Python脚本和ADB命令实现卸载App

前言 本文实现一个 Python 脚本,用来批量卸载模拟器或者实体机上面的 App 以及清除 LogCat 缓存。 开发 Android 的朋友,模拟器或者手机里面常常有大量调试的 De...