首页 > 编程 > Python > 正文

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

2019-11-25 12:53:20
字体:
来源:转载
供稿:网友

本文实例讲述了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 HttpResponsefrom .mysql_view_models import StudentinfoInfoOrmfrom django.core import serializersdef 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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表