经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Django » 查看文章
Django框架使用mysql视图操作示例
来源:jb51  时间:2019/5/16 9:02:22  对本文有异议

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

一.Mysql视图的创建

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

1.首先,创建两张表

  1. from django.db import models
  2. # Create your models here.
  3. class StudentOrm(models.Model):
  4. name = models.CharField(max_length=50)
  5. sex = models.CharField(max_length=50)
  6. class InfoOrm(models.Model):
  7. classname = models.CharField(max_length=50)
  8. addr = models.CharField(max_length=50)
  9.  

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

2. 创建mysql_view_test_orm视图

Navicat有工具,语句略

3. 查看视图

二.Django中使用Mysql视图

通过Django的ORM来控制视图

1. 创建视图相关py文件

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

  1. from .models import *
  2. class StudentinfoInfoOrm(models.Model):
  3. name = models.CharField(max_length=50)
  4. sex = models.CharField(max_length=50)
  5. classname = models.CharField(max_length=50)
  6. addr = models.CharField(max_length=50)
  7. class Meta:
  8. db_table = 'mysql_view_test_orm'
  9.  

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

2. 视图查询

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

  1. from django.shortcuts import render
  2. # Create your views here.
  3. from django.http import HttpResponse
  4. from .mysql_view_models import StudentinfoInfoOrm
  5. from django.core import serializers
  6. def mysql_view_test(request):
  7. tempa = StudentinfoInfoOrm.objects.all()
  8. # tempa = StudentinfoInfoOrm.objects.filter(name="zhangkun")
  9. # tempa = StudentinfoInfoOrm.objects.filter(name="lc")
  10. data = serializers.serialize("json", tempa)
  11. return HttpResponse(data)
  12.  

代码示例:

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

https://github.com/584807419/testmysqlview

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号