Flask-Marshmallow调用dumps报错缺少必填参数'obj'如何解决
问题根因
你的错误来自两处未实例化的写法:
nutzer = User等价于你把User类本身赋值给了变量,而非创建User类的实例对象,正确写法应为nutzer = User()nutzer_schema = UserSchema同理是把UserSchema类本身赋值给了变量,dumps是Schema的实例方法而非类方法,你直接用类调用时,传入的nutzer会被识别为方法的第一个self参数,所以系统才会提示缺少必填的obj参数,正确写法应为nutzer_schema = UserSchema()
修正后可运行的代码片段
# 其余代码保持不变 # 实例化User模型 nutzer = User() nutzer.usr_name = 'testnutzer' nutzer.password_hash = 'rfsedlujhnogiyefdgxrjuvbhklnrf' nutzer.personal_nr = 1234 nutzer.first_name = 'fritz' nutzer.last_name = 'müller' # 实例化Schema类 nutzer_schema = UserSchema() def dumper(): return nutzer_schema.dumps(nutzer) dumper()
如果你在使用json.dump/json.dumps时也遇到同类报错,检查对应调用是否存在参数顺序错误、操作对象未实例化的问题即可。
内容的提问来源于stack exchange,提问作者Gabriel
相关产品推荐
相关产品推荐

