当尝试将对象作为字典中的值进行迭代,并将这些对象传递给schema.dump(dev_obj)进行打印时,收到以下错误。
TypeError: dump()缺少1个必需的位置参数:'obj‘
能够成功地转储和打印单个对象实例,而不是在字典中,但不能重复成功迭代多个对象。
... #下面,单个实例运行良好
test = MsnDevice()
schema = MsnDeviceSchema()
result = schema.dump(test)
pprint(result)
.
.#但是,当迭代一个dict时,设备对象是dict中的一个值,我得到了上面的错误#我已经验证了对象确实是被创建并存储在值中的
schema = msn.MsnDeviceSchema
for device, dev_obj in msn_dict.items():
device_json_string = schema.dump(dev_obj)
pprint(device_json_string)
.
预期的结果是,我将能够打印每个对象。
发布于 2019-05-13 22:15:11
我找到了这个问题的解决方案,简而言之,一个打字错误。
在代码的dict迭代部分定义模式时,我没有在语句中包含'()‘:
.
# Incorrect
schema = msn.MsnDeviceSchema
# Corrected
schema = msn.MsnDeviceSchema()
https://stackoverflow.com/questions/56113990
复制相似问题