model.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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)