在这些情况下,我们可以直接访问数据库,完全避开模型层。
我们可以直接从django提供的接口中获取数据库连接,然后像使用pymysql模块一样操作数据库。
注意不要自己使用字符串格式化拼接SQL语句,防止SQL注入!
简单示例:
from django.db import connection,connections
# 获取游标对象
cursor = connection.cursor() #cursor = connections['default'].cursor()
# 使用原生SQL进行查询
cursor.execute(' select * from book_publish where id > %s ',[22])
# 获取所有的数据
ret = cursor.fetchall()
print(ret)
补充:
在不使用默认数据库下,链接配置
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
提交评论
您尚未登录,登陆之后方可评论 登录 or 注册