peewee可用class来创建表,增删改查,应该是相对余单表(本人几乎没用过,自以为如此)
想实现sql查询,得到list,比如这样的结果[{'user_name':'名字'},{'user_name':'名字'}]
但是查询结果是全是数据(元组),且找不到列名,后dir后逐个尝试发现列名可以使用result.description[j][0]获取
元组使用起来不方便,现实现将数据解析成想要的形式:[{}]
自己摸索的,比较粗糙,后续完善,再加入模糊查询
from peewee import *
import datetime
import time
import types
import pdb
import uuid
db = MySQLDatabase(host=host, user=user, passwd=passwd, database=database, charset=charset, port=port)
def select(table_name, columns='*', where='1=1', limit='0,10'):
'''
传入表名,要搜索的列(默认为*),查询条件,分页
返回一个list,其中元素为map,如[{'user_name':'名字'},{'user_name':'名字'}]
'''
sql = '''
select %s from %s where %s limit %s
''' % (columns, table_name, where, limit)
print sql
data_list = []
result = db.execute_sql(sql)
for array in result:
data_map = {}
j = 0
for value in array:
data_map[result.description[j][0]] = value
j += 1