def as_dict(self,*args):
result = OrderedDict()
keys=args or self.__mapper__.c.keys()
for key in keys:
if hasattr(self,key):
obj=getattr(self, key)
if isinstance(obj,basestring):
value=obj
elif isinstance(obj,int) or isinstance(obj,long) or isinstance(obj,float):
value=obj
elif isinstance(obj,Decimal):
value=str(obj)
elif isinstance(obj,types.choice.Choice):
value=obj.code
elif isinstance(obj,datetime):
value=obj.strftime(‘%Y-%m-%d %M:%H:%S‘)
elif isinstance(obj,date):
value=obj.strftime(‘%Y-%m-%d‘)
else:
raise Exception(‘不支持系列化[%s]类型!‘ % type(obj))
result[key] = value
return result
def as_json(self,*args):
d=self.as_dict(*args)
return json.dumps(d)
------------------------------------------------------------------------------------------------------
result1=pagination(page,rows1)
for credit in result1:
rows.append(credit.as_dict(‘id‘,‘title‘,‘week_rule‘,‘latefee_rate‘,‘extra_cost_rate‘,‘due_days‘,‘remark‘))
return json.dumps(credit_result)