我在数据库中有一行是:
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(