gpt4 book ai didi

python - Django-奥斯卡 : deleting a voucher don't delete the associated "ConditionalOffer"

转载 作者:太空宇宙 更新时间:2023-11-03 20:29:04 25 4
gpt4 key购买 nike

我在尝试使用优惠和优惠券时遇到了 Django-Oscar 问题。当我删除凭证时,相关实体 ConditionalOffer 不会被删除并保留在数据库中。

因此,当我尝试使用与刚刚删除的代码相同的代码添加另一张优惠券时,我收到一个漂亮的 IntegrityError 重复的键值违反了唯一约束“offer_conditionaloffer_name_key”

我将 django-oscar (2.0.1) 与 PostgreSQL (11) 和 psycopg2 (2.8.3) 一起使用。

这里是screenshot的错误和另一个 ConditionalOffer table条目(10off 和 20off)仍保留在那里。

这是正常行为还是错误?如果正常,我该如何创建一张与已删除的旧凭证具有相同代码的凭证?

最佳答案

这是正常的(如果有些不可取的话)行为 - Oscar 不会清理使用优惠券创建的优惠。这样做的原因是,就模型而言,优惠可以与任意数量的优惠券关联 - 因此,它并不认为删除优惠券后就不再需要该优惠。

可能有人认为,如果通过仪表板为优惠券创建了报价,并且共享相同的名称,那么在优惠券创建时应该将其删除 - 但这目前尚未实现。

现在,您需要从 Django 管理员或 shell 中删除孤立的商品。

关于python - Django-奥斯卡 : deleting a voucher don't delete the associated "ConditionalOffer",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57635832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com