django - Django 迁移错误
问题描述
我试图迁移这些模型,但我遇到了错误。我添加了字段位置,经理最初不在我的模型中。将 project_name 设置为项目模型中的主键:我跑了python manage.py migrate
,我得到一个错误:下面是模型。
class Employee(models.Model):
position = models.CharField(max_length=200)
manager= models.CharField(max_length=200,default="x")
employee_number = models.PositiveIntegerField(primary_key=True)
class Project(models.Model):
project_code=models.CharField(max_length=200)
employees = models.ManyToManyField(Employee,through="User_Projects")
project_name= models.TextField(primary_key=True)
class User_Projects(models.Model):
employee_number = models.ForeignKey(Employee,to_field='employee_number',on_delete=models.CASCADE)
project_name = models.ForeignKey(Project,to_field="project_name",on_delete=models.CASCADE)
我得到的错误如下,我需要帮助:
InternalError:(1829,"cannot drop column 'id' : needed in a foreign key constraint 'timeapp_user_projects_projects_id_cf8c73ba_fk_timeapp_project_id' of table 'timesheets.timeapp_user_projects'")
解决方案
检查你的迁移文件,django 可能已经生成了删除字段 'id' 然后创建了 alter 命令。您可以编辑迁移文件以删除“RemoveField”,然后尝试迁移。python manage.py 迁移
推荐阅读
- python - Python 什么时候真正向服务器发出请求?
- mysql - 使用 ssh 创建 MySQL 用户
- python - Selenium:如果包含',XPATH 会中断
- r - R:crosstalk::SharedData 以不同格式(宽/长)链接数据,当 tidyverse 动词不起作用时
- linux - bash:在最后一个分隔符之前剪切特定字符串
- c# - 如何在屏幕上查找特定文本及其位置?C#
- python - Python中的类和静态方法有什么区别,因为在静态方法中,您可以通过名称而不是cls来访问类?
- vba - 用户登录后无法加载表单
- github - 如何在 Github 中合并具有完全不同提交历史的分支?
- javascript - 单击ul的li时动态更改图标无法使用vanilla js