测试 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)添加产品时,它会正常工作。如果用ProductType
X添加新的Product
,会遇到重复(OneToOneField
只允许一个产品映射到1个ProductType
)
我正在为 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)添加产品时,它会正常工作。如果用ProductType
X添加新的Product
,会遇到重复(OneToOneField
只允许一个产品映射到1个ProductType
)