python能查询MySQL视图_Django框架使用mysql视图操作示例

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

f708de66f27d2ce5fee7a721ef930381.png

3. 查看视图

031a3c71d3d448e2a24a57d80dc68285.png

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

a52808f92636de2912ac1ee08f2af317.png

代码示例:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值