序列化模型对象

来源: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

0
0

Python Flask高级编程之RESTFul API前后端分离精讲

RESTFul+权限管理+token令牌+扩展flask=提升编程思维

2037 学习 · 359 问题

查看课程