我正试图用棉花糖反序列化一个深层结构。例如:
hour = {
'day': {
'name': 'monday'
}
}
loaded_hour, error = HoursSerializationSchema().load(hour) # this works
new_practitioner_at_location = {
'hours': [
hour
]
}
loaded, error = PractitionerToServiceLocationSerializationSchema().load(new_practitioner_at_location) # this fails
当我尝试反序列化new_practitioner_at_location
时,我得到以下结果(当序列化程序在处理“day”键时发生):
AttributeError: 'dict' object has no attribute '_sa_instance_state'
请注意,当相同的数据结构(hour)没有嵌套在new_practitioner_at_location
中时,相同的模式可以反序列化相同的数据结构(hour)。在
显示问题的自包含脚本:
^{pr2}$更新:
我认为发生的是,在反序列化new_practitioner_at_location
dict时,marshullow没有尝试反序列化HoursDay
对象。如果我从HoursDay.hour
字段中删除{hour
dict而不是将其嵌入new_practitioner_at_location
中时,它是有效的。
任何帮助都将不胜感激。在
这是一个简单的错别字:
您正在
^{pr2}$class Meta
内定义hours
,但它必须在您的架构中:相关问题 更多 >
编程相关推荐