码迷,mamicode.com
首页 > 数据库 > 详细

Django数据库操作的注意事项《特别篇》!

时间:2021-06-02 18:29:25      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:connect   读取配置   fetchall   nec   cep   获取   user   原因   出现   

数据库查询操作,一般使用生sql和模型对象,两种方式!

模型操作使用一般不会有太大的问题,

但是使用原生sql(pymysql)时有可能会遇到数据库查询周期性或者连续性失败的情况:

import pymysql

from allinone.settings import BASE_DIR


class Mysqls(object):
    def __init__(self):
        # 读取配置文件
        self.connect()

    def connect(self):
        try:
            self.connection = pymysql.connect(host="192.168.0.105", user="root", password="123456",
                                              database="allinones")
            self.cursor = self.connection.cursor()
        except Exception as e:
            print(e)
            # kill()

    # 获取所以数据
    def get_all(self, sql):
        try:
            self.cursor.execute(sql)
            return self.cursor.fetchall()
        except:
            self.connection()
            self.cursor.execute(sql)
            return self.cursor.fetchall()
  def get_close(self):
self.cursor.close()


猜测引起的原因,可能为数据库引擎有表级锁或者行级锁的原因,与模型对象查询时出现冲突,又或者与数据库链接过多,没有关闭。

Django数据库操作的注意事项《特别篇》!

标签:connect   读取配置   fetchall   nec   cep   获取   user   原因   出现   

原文地址:https://www.cnblogs.com/yongqi-wang/p/14830255.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!