django.db.utils.IntegrityError:重复的键值违反了唯一约束,而 4 行中的 2 行是不同的



我在数据库中有一行是:

order_id:    product_type_id:    is_child:    child_type_id:
1                   2             True           3

我想用这段代码添加一行:

订单 = 1,

产品.父级 = 2

order_item = OrderItem.objects.create(order=order, product_type=product.parent, 
child_type_id=None, is_child=False)

但它引发了此错误:

django.db.utils.IntegrityError:重复的键值违反了唯一约束"order_orderitem_order_id_product_type_id_ee5c1733_uniq" 详细信息:密钥(order_id,product_type_id(=(1,2(已经存在。

虽然 2 行中的 4 行不同,为什么我会遇到这个问题?

Django 在复制数据方面存在问题,因此我认为除非它是外键或 ManyToMany 字段,否则您不能拥有两个具有相同 id 的对象。

问题出在你的约束上,你有一个order_id和product_type_id的约束。 删除它并创建一个具有您想要的所有功能的新功能。 喜欢:(order_item、product_type_id、child_product_type_id、is_child(

最新更新