序列化模型对象
来源:7-7 完善序列化
点点点工程师
2018-07-20
老师 这样的写法确实巧妙 但是还是有些缺陷 序列化模型的哪些属性是定死的 如果我A接口只需要返回 id 而B接口要返回 nikenamne id Email 这样就会返回多余的数据 。
我这里改写了下 ,解决了这个问题,老师看下还有没有什么优化的地方:
user模型类里面
return_json = ['id', 'email', 'nickname', 'auth']
def keys(self):
return self.return_json
def set_keys(self,*args):
return_json = [str(arg) for arg in args]
self.return_json = return_json
定义了一个set_keys 来改变 方法 keys 返回的值,再序列化时来改变keys的返回
user = User.query.get_or_404(uid)
user.set_keys('id', 'email')
return jsonify(user)
如果不调用set_keys,则序列化默认的
如果处理返回数据
user.new = '新添加'
user.set_keys('id', 'email','new ')
return jsonify(user)写回答
1回答
-
7七月
2018-07-21
不错 课程后面有支持属性的自动序列化和hide与append
00
相似问题