测试 Django 中 ForeignKey 的重复条目“1”

Duplicate entry '1' for ForeignKey in Testing Django

我正在为 Django 在 Selenium 中实施集成测试

我有一个这样的模型示例

class Product(models.Model):
    id = models.AutoField(max_length=11, primary_key=True)
    contract_id = models.IntegerField(blank=True, null=True)
    name= models.CharField(max_length=255, blank=True, null=True)
    productType= models.OneToOneField(
        ProductType,
        on_delete=models.CASCADE,
        db_column='product_type_id'
    )
    productGroup = models.ForeignKey(
        productGroup,
        on_delete=models.CASCADE,
        related_name="ProductGroup",
        db_column='product_group_id'
    )

    class Meta:
        db_table = 'PRODUCT'

当我向我的产品插入新字段时 我收到这样的错误。问题是,当我第一次插入或创建新产品时,它仍然运行良好。但是第二次,它引发了一个错误

"Duplicate entry '3' for key 'product_type_id'"

我认为是因为 table PRODUCT_TYPE 有约束 product_type_id,但我插入的值有重复。但是我可以修复 foreignKey 约束错误吗?

这是因为 OneToOneField,第一次使用 ProductType(假设为 X)添加产品时,它会正常工作。如果用ProductTypeX添加新的Product,会遇到重复(OneToOneField只允许一个产品映射到1个ProductType