def _data_convert(data, time_func, foreign, many, include_attr, exclude_attr):
if isinstance(data, models.Model):
attr_list = _get_attr(data, time_func, foreign, many)
_include_check(include_attr, attr_list)
_exclude_check(exclude_attr, attr_list)
return attr_list
elif isinstance(data, (QuerySet, Page)):
result = []
for itm in data:
attr_list = _get_attr(itm, time_func, foreign, many)
_include_check(include_attr, attr_list)
_exclude_check(exclude_attr, attr_list)
result.append(copy.copy(attr_list))
return result
elif isinstance(data, datetime.datetime):
print ('====')
print (str(data))
return time_func(data)
elif isinstance(data, (str, bool, float)):
return data
elif isinstance(data, dict):
for k, v in data.iteritems():
data[k] = _data_convert(v, time_func, foreign, many, include_attr, exclude_attr)
return data
elif isinstance(data, list):
for i, itm in enumerate(data):
data[i] = _data_convert(itm, time_func, foreign, many, include_attr, exclude_attr)
return data
else:
return None
评论列表
文章目录