#导入包
from django.db import connection
#使用cursor()方法获取操作游标
cursor=connection.cursor()
# 使用execute方法执行sq l语句
cursor.execute('select * from a')
#使用fetchone()方法获取一条数据
data=cursor.fetchon()
#关闭连接
cursor.close()
常用方法:
fetchone():获取下一个查询结果集。结果集是一个对象
fetchall():接收全部的返回结果行
rowcount:这是一个只读属性,并返回执行execute()方法后影响的行数
用例:
if event.first().status!=2:
guest= Guest.objects.filter(phone=phone_number)
if guest.exists():
cursor=connection.cursor()
cursor.execute('select * from a_table where guest_id={g_id} and event_id={e_id}'.format(g_id=guest.first().id,e_id=event.first().id))
results = cursor.fetchall()
if results:
try:
cursor.execute('update a_table set sign=1 where guest_id={g_id} and event_id={e_id}'.format(g_id=guest.first().id,e_id=event.first().id))
r={'error_code':0}
print('rowcount={count}'.format(count=cursor.rowcount))
except:
#connection.rollback()
r={"error_code":100014}
# db.close()
else:
r={"error_code":10010}
#关闭数据库
connection.close()
else:
r={'error_code':10008}
else:
r= {"error_code":10009}