Sqlalchemy重复条目

2024-09-27 00:22:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

    purchased_offer = session.query(PurchasedOffer).filter_by(purchased_offer_id=purchased_offer_id).first()
    used_offer = UsedOffer(purchased_offer)
    session.add(used_offer)
    session.delete(purchased_offer)

{{cd1>然后将{cd1}转移到^ cd1>

这两个表UsedOfferPurchasedOffer只是名称不同,内容相同。在

^{pr2}$

我的问题是,当我将used_offer添加到database时,used_offer_id总是被设置为0,所以当我在2nd时间执行这个过程时,我得到一个duplicate error。在

有人知道为什么会这样吗?在


Tags: 代码addidbysessionfilterquerydelete
2条回答

您使用的“优惠”id是主键,因此不能复制。在创建UsedOffer对象之前,请删除此属性(使用del关键字)。SQLAlchemy将自动创建一个

您必须为每个已使用的_offer_id设置唯一值(不应始终设置为0),因为您将其声明为主键。在

相关问题 更多 >

    热门问题