2 afei2ting afei2ting 于 2014.10.28 11:11 提问

sqlalchemy问题 对象copy失败

orderDetailServer = self.db.query(OrderDetailServer).filter_by(id=id).first()
qry = self.db.query(func.max(OrderDetailServer.id).label("max_score"),
func.min(OrderDetailServer.id).label("min_score"),
)
res = qry.one()
max = res.max_score
localTime = time.strftime("%Y%m%d%H%M%S",time.localtime())
orderServerCopy = OrderDetailServer(id=max+1,asset=str(localTime))
orderServerCopy.deviceOrder_id=orderDetailServer.deviceOrder_id
self.db.add(orderServerCopy)
self.db.commit()

异常:
IntegrityError: (IntegrityError) (1062, "Duplicate entry '20141028110823' for key 'asset'")

asset虽然是唯一字段,但是为的asset绝对没有重复呀。而且这个操作虽然抛出了异常,但是却插入新对象成功了。求分析下用scoped_session进行查询,有新建对象插入时的原理

1个回答

afei2ting
afei2ting   2014.10.28 11:18

验证了下,把asset的唯一性约束去掉,添加了两条资产编号一样的数据.....求解释

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!