Django框架使用mysql檢視操作示例
阿新 • • 發佈:2020-01-09
本文例項講述了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程式設計有所幫助。