我是Django和Python的新手。我已经将Django 2.1.5,Python 3.7和MySQL设置为我的数据库。
我创建了3个应用-课程,导师和视频。已成功迁移到MySQL。 自定义Django Admin并向其中的所有数据添加了一些数据。
我正在使用uuid4为所有人生成主键。
首先,我忘记创建外键,或者可能是我最初没有计划。
现在,无论何时更改模型(无论是更改Django模型中字段的类型还是在任何模型中添加新字段),Django都会要求为现有行提供默认值。
它为我提供了两个将自动值设置为1的选项。 并允许我在2岁时复习并自己做。
如果我执行1-什么也没发生,系统再次提示相同。 如果我在选项2中插入任何随机值,则会因明显的类型不匹配而得到类型错误(我认为是这样)。见下文:
请选择一个修复程序: 1)现在提供一次性的默认值(将在所有现有行上设置此列的值为空) 2)退出,然后让我在models.py中添加默认值 选择一个选项:1 请输入有效的Python默认值 datetime和django.utils.timezone模块可用,因此您可以执行例如时区 输入“退出”退出此提示
>
在编辑模型时,我遇到了另一个循环参考错误。
现在我想知道:
如何在第一个Go语言中完美设计表模式。显然,将需要更改模型。
每次更改都会使我遇到很多迁移问题(OperationalError)。
这是特定于MySQL和PostgreSQL的,还是可以更好地进行模式更改(django文档说-https://docs.djangoproject.com/en/2.1/topics/migrations/#postgresql)。
我可以用模型中的最新更改来覆盖所有内容吗?
在这种情况下,我一次删除了数据库,并且在使用最新模型进行迁移时一切都很顺利,但是我不能每次都删除数据库。
我也尝试过伪造迁移,但是模式更改是这里的主要问题。
或者是我不知道的开发Django应用的更好方法/方法/过程。
我创建了一个新应用,并希望将此应用的uuid作为外键添加到以前创建的应用(课程)中,而不丢失现有数据。我怎样才能做到这一点?