django - 无法通过迁移更改我的 Django 模型
问题描述
我尝试实施我在这里找到的许多解决方案,但没有任何帮助,所以我正在寻找答案。
在我的 Django 项目中,我有具有以下模型的 Model.py:
class Boat(models.Model):
boatId = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
manufacturer = models.ForeignKey(Manufacturer, related_name='boatModels', on_delete=models.CASCADE, default=None)
modelName = models.CharField(max_length=256, default=None)
loa = models.FloatField(default=None)
draftMin = models.FloatField(default=None)
draftMax = models.FloatField(default=None)
displacement = models.IntegerField(default=None)
makerURL = models.CharField(max_length=1000, default=None)
videoURL = models.CharField(max_length=1000, default=None)
tags = TaggableManager()
最初我在最新添加的字段中遇到了这个错误videoURL
:
/boats/ 处的 OperationalError 没有这样的列:boat_app_boat.videoURL
现在是这个:
/admin/boat_app/boat/edc81b63-d8a5-4ab2-887d-97703554dc4e/change/ 处的溢出错误 Python int 太大而无法转换为 SQLite INTEGER
正如一些人建议的那样,我确实搞砸了删除旧迁移,但我认为这只会让事情变得更糟。最终“按书”迁移的最佳方式是什么,或者如果说不可能的话,我会接受有关如何从头开始的建议,因为我的数据库中只有几个项目。
解决方案
因为 CharField 允许 256 个字符
如果可以将 FileField 和 URLField 用于 videoURL 和 makerURL
推荐阅读
- c - 尝试根据字符在字母表中的位置将字符串的元素转换为数字
- mysql - MySQL:加入 2 个表并显示子表的最后日期
- c# - 无法使用 c#/ASP.Net 在 Chrome 中打开弹出窗口
- ibm-watson - Watson 助手访问 URL 或预览链接在 IE 中不起作用
- html - 影子 DOM 中的 CSS 计数器不递增
- javascript - Angular boostrap:ngbDropdown/ngbDropdownToggle 和可访问性?
- matlab - 如何编写代码来运行函数并从中检索值
- java - 如何删除小数点后的尾随零,但如果它包含非零,则保持原样
- spring - Spring Boot Thymeleaf 变量阻塞登录页面
- linux - 使用 UMASK 创建具有 755 权限的 unix 文件