zoukankan      html  css  js  c++  java
  • django中使用原生的sql查询实例

    在app文件夹下创建database_operations.py文件,写如下内容:
    import 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)
  • 相关阅读:
    数据结构(九)词典
    数据结构(八)高级搜索树
    电脑购买参数配置
    git命令
    Linux安装初始化
    电影TS、TC、BD版和HD版
    eclipse 自动生成json格式的toString()方法
    富文本编辑器-UEditor
    lucene教程--全文检索技术
    FileOperator 文件(夹)操作类
  • 原文地址:https://www.cnblogs.com/xshan/p/11792083.html
Copyright © 2011-2022 走看看