model.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import biz
  2. class Model(dict):
  3. def __init__(self):
  4. self.db=biz.getDB()
  5. self.cursor=self.db.getCursor()
  6. self.conn=self.db.getConn()
  7. pass
  8. def query(self,sql,args=None):
  9. self.cursor.execute(sql,args)
  10. res = self.cursor.fetchall()
  11. return res
  12. def execute(self,sql,args=None):
  13. try:
  14. self.cursor.execute(sql,args)
  15. self.conn.commit()
  16. except BaseException as e:
  17. print(e)
  18. def select(self,conditions={}):
  19. where=fields=limit=orderby=''
  20. limit='limit 1 offset 0'
  21. if 'where' in conditions:
  22. where=' where '+conditions['where']
  23. if 'fields' in conditions:
  24. fields=' '+conditions['fields']
  25. if 'limit' in conditions:
  26. limit_d=conditions['limit'].split(',')
  27. limit=' limit '+limit_d[0]+ ' offset '+limit_d[1]
  28. if 'orderby' in conditions:
  29. orderby=' order by '+conditions['orderby']
  30. s="select %s from \"%s\" %s %s %s " % (fields,self.table_name,where,orderby,limit)
  31. return self.query(s)
  32. def update(self,data,where=''):
  33. values=[]
  34. if where!='':
  35. where=' where %s' %(where)
  36. for index in data:
  37. s="%s='%s'" % (index,data[index])
  38. values.append(s)
  39. sql = "update \"%s\" set %s %s" % (self.table_name, ','.join(values),where )
  40. return self.execute(sql)
  41. def save(self,data):
  42. fields=[]
  43. values=[]
  44. vls=''
  45. for index in data:
  46. fields.append(index)
  47. values.append(data[index])
  48. if vls=='':
  49. vls=''
  50. else:
  51. vls=vls+','
  52. vls=vls+"('%s')" % '\',\''.join('%s' %id for id in values)
  53. sql = "insert into \"%s\"(%s) values %s" % ( self.table_name,','.join(fields),vls)
  54. return self.execute(sql)