Django ORM在尝试保存()时重复DB列

Django ORM在尝试保存()时重复DB列,django,django-models,django-orm,Django,Django Models,Django Orm,我使用的是一个旧的遗留数据库,我在制定正确的方法来执行对该数据库的插入时遇到了问题。当我试图保存一个对象时,我得到一个SQL错误 INSERT语句中不能重复客户ID 我相信这是由我创建外键连接的方式造成的: customer_id = models.IntegerField(db_column='CUSTOMER_ID') tbcustomer = models.ForeignKey(TbCustomer, db_column='CUSTOMER_ID', to_field='customer

我使用的是一个旧的遗留数据库,我在制定正确的方法来执行对该数据库的插入时遇到了问题。当我试图保存一个对象时,我得到一个SQL错误

INSERT语句中不能重复客户ID

我相信这是由我创建外键连接的方式造成的:

customer_id = models.IntegerField(db_column='CUSTOMER_ID') 
tbcustomer = models.ForeignKey(TbCustomer, db_column='CUSTOMER_ID', to_field='customer_id')
客户id整数字段必须保留!我知道这个结构很难看,但数据库真的很旧,我无法改变它


我是否应该重新考虑这个外键实现,或者是否有可能以其他方式克服这个错误?。欢迎您提出任何建议,谢谢。

我不明白您为什么重复使用db字段。请删除IntegerField。很抱歉不够清晰,integer字段在数据库中,并且将在那里,由其他软件使用,这是我发现的在该数据库中实现外键的唯一方法。我无法更改数据库结构本身。tbcustomer字段实际上不是数据库中的字段,它只是使用cusomer_id创建外键关系。但是外键是一个整数。实际上不需要它两次,integerfield也不需要保留。始终可以通过ForeignKey字段设置值。这根本不会影响桌子的结构。现在我觉得自己很愚蠢。但我想这正是我需要的。因此,为了确保我能够:entry=Customercustomer\u id=123 entry.save;当customer\u id是ForeignKey字段时?那么,您应该调用ForeignKey字段本身customer,然后您确实可以使用customer\u id引用基础id列。