数据库错误:列不存在

2024-05-16 22:42:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我在rw_item表中添加了新列FK_Project,它是Project_Master表的引用。在

dp=# ALTER TABLE digital_publisher_rw_item ADD FK_Project int; 
ALTER TABLE


dp=# ALTER TABLE digital_publisher_rw_item ADD FOREIGN KEY(FK_Project) REFERENCES digital_publisher_project_master(id);
ALTER TABLE

现在我正在编写脚本,将的值添加到rw_item表中的列FK_Project。在

但有以下例外

例外情况

^{pr2}$

Django公司模型.py公司名称:

FK_Project = models.ForeignKey(Project_Master, null=True, blank=True)

怎么处理?在


Tags: masterprojectaddtruetable公司itempublisher
1条回答
网友
1楼 · 发布于 2024-05-16 22:42:34

由于您是手动添加字段,而不是使用Django's database migrations,正如Shang Wang所指出的,您只需要确保字段名匹配。在这种情况下,请注意Django给出的准确错误:

DatabaseError: column digital_publisher_rw_item.FK_Project_id does not exist

它正在寻找FK_Project_id,而不是您添加的FK_Project。这是因为Django中的一个约定,它将_id附加到ForeignKey列的末尾。所以,你有两个选择来处理这个问题:

  1. 重命名数据库中的列:ALTER TABLE digital_publisher_rw_item RENAME COLUMN FK_Project TO FK_Project_id

  2. 告诉Django使用您创建的列:FK_Project = models.ForeignKey(Project_Master, null=True, blank=True, db_column='FK_Project')

相关问题 更多 >