1. 程式人生 > 資料庫 >Django框架使用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有工具,語句略

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程式設計有所幫助。