当前位置:Gxlcms > 数据库问题 > django中使用原生的sql查询实例

django中使用原生的sql查询实例

时间:2021-07-01 10:21:17 帮助过:48人阅读

pymysql from 项目名.settings import DATABASES class Database_operat(object): def __init__(self, database=DATABASES, database_name=default): database_information = database[database_name] try: self.db = pymysql.connect(host=database_information[HOST], user=database_information[USER], port=database_information[PORT], password=database_information[PASSWORD], db=database_information[NAME]) self.cur = self.db.cursor() except pymysql.err.OperationalError as e: print(e) print("连接数据库失败") return #查全部数据 def search_all(self, sql): data= ‘‘ try: self.cur.execute(sql) self.db.commit() data = self.cur.fetchall() print(data) data =[i[0] for i in data] print(data) # data =list(data) except pymysql.err.ProgrammingError as e: print(e) print("查询失败") except pymysql.err.InternalError as e : print(e) print("查询失败") finally: self.db.close() if data: return data else: data = [] return data def close(self): self.db.close() return



在views文件中可以这样使用:
from .database_operations import *

# 动态加载5个相似的批次号
def search_batch(request):
    db = Database_operat()
    batch = request.GET.get(batch)
    batch = batch + %
    batch_like_sql = "SELECT batch FROM batch_comparison WHERE batch  LIKE ‘%s‘ LIMIT 0,5;" % batch
    batch_list = db.search_all(batch_like_sql)
    msg = json.dumps(batch_list)
    return HttpResponse(msg)

 

 

django中使用原生的sql查询实例

标签:limit   format   sel   like   cep   batch   sql查询   operation   where   

人气教程排行