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

时间:2022-08-22 17:08:58

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

一.mysql视图的创建

mysql中,在两个或者以上的基本表上创建视图,例如:在studentorm表和infoorm表上,创建mysql_view_test_orm视图

1.首先,创建两张表

?
1
2
3
4
5
6
7
8
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,该文件的代码如下:

?
1
2
3
4
5
6
7
8
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()

?
1
2
3
4
5
6
7
8
9
10
11
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程序设计有所帮助。

原文链接:https://blog.csdn.net/u013205877/article/details/80004514