Python 更新查询时出错:AttributeError(“unicode&”x27;对象没有属性子类型
我的订单结构如下:Python 更新查询时出错:AttributeError(“unicode&”x27;对象没有属性子类型,python,mongodb,pymongo,Python,Mongodb,Pymongo,我的订单结构如下: {u'order_id': 12341, u'status_history': [{u'reason': u'', u'status': u'2000', u'time': datetime.datetime(2013, 7, 31, 11, 52, 47)}, {u'reason': u'', u'stat
{u'order_id': 12341,
u'status_history': [{u'reason': u'',
u'status': u'2000',
u'time': datetime.datetime(2013, 7, 31, 11, 52, 47)},
{u'reason': u'',
u'status': u'6020',
u'time': datetime.datetime(2013, 7, 31, 11, 59, 8)},
]
}
我要更新记录。我的问题是:
problem_index = 1 # int
db.order.update({'order_id':order_id},
{'$set':{'status_history.%s' % problem_index : edited_item}}
)
结果:
AttributeError("'unicode' object has no attribute 'subtype'",)
为什么?哦..递归结构。需要更多的关注。 我正在保存最新版本:
last_item = edited_item
# Need last_item = copy.copy(edited_item)
if edited_item.has_key('previous versions'):
edited_item['previous versions'].append(last_item)
我试过你的查询,效果不错。你的
编辑的_项是什么?例如:{u'status':u'4200',u'problemModCompensation':0,u'modified_field':{},u'problemMod':0,'previous versions':[{…}],'editor':{'username':u'Admin','u id':ObjectId('51cc42b10904e7fa4182e06c')}