- 1、model转json
# model转json字典
def serialize(model):
columns = [c.key for c in class_mapper(model.__class__).columns]
data = dict()
for c in columns:
v = getattr(model, c)
if type(v) == datetime: # 日期类型在转json字符时会出错,所以需要提前格式化
v = datetime.strftime(v, '%Y-%m-%d %H:%M:%S')
if type(v) == date:
v = datetime.strftime(v, '%Y-%m-%d')
data[c] = v
return data
- 2、form表单的值自动赋值给model
# form的值自动赋值给model
def form_set_data_model(form, model):
columns = class_mapper(model.__class__).columns
for field in form:
if field.name in columns:
if type(columns[field.name].type) == DateTime or type(columns[field.name].type) == Date:
if field.data and field.data != "": # 日期类型的字段不能直接给空字符,所以需要判断处理
setattr(model, field.name, field.data)
else: # 如果是空字符赋值给None
setattr(model, field.name, None)
else:
setattr(model, field.name, field.data)
return model