为什么每当更改模型时都会出现很多错误?

时间:2019-02-17 12:22:17

标签: python-3.7 django-2.1

我是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模块可用,因此您可以执行例如时区 输入“退出”退出此提示

  
    

>

  

在编辑模型时,我遇到了另一个循环参考错误。

现在我想知道:

  1. 如何在第一个Go语言中完美设计表模式。显然,将需要更改模型。

  2. 每次更改都会使我遇到很多迁移问题(OperationalError)。

  3. 这是特定于MySQL和PostgreSQL的,还是可以更好地进行模式更改(django文档说-https://docs.djangoproject.com/en/2.1/topics/migrations/#postgresql)。

  4. 我可以用模型中的最新更改来覆盖所有内容吗?

  5. 在这种情况下,我一次删除了数据库,并且在使用最新模型进行迁移时一切都很顺利,但是我不能每次都删除数据库。

  6. 我也尝试过伪造迁移,但是模式更改是这里的主要问题。

  7. 或者是我不知道的开发Django应用的更好方法/方法/过程。

  8. 我创建了一个新应用,并希望将此应用的uuid作为外键添加到以前创建的应用(课程)中,而不丢失现有数据。我怎样才能做到这一点?

0 个答案:

没有答案
相关问题