【问题标题】:Having trouble with SQLite3 table in DjangoDjango 中的 SQLite3 表有问题
【发布时间】:2018-01-25 06:21:56
【问题描述】:

我正在学习 Django,并使用 PyCharm 在 Django 中创建了一个表。我在表中输入了一些值,之后,我在表中添加了另一列。现在,当我尝试进行迁移时,它成功了,但是当我尝试迁移时,出现了很多错误,主要是说正在附加一个空列等等。 之后我做了很多尝试,首先是在该列中允许 Null 值,然后注释掉该列,但没有成功。 现在,即使我在 models.py 文件中维护相同的代码,同样的错误也会不断出现。

这是models.py文件的代码:

from django.db import models


    class Albums(models.Model):
       # name = models.CharField(max_length=250, default=None)
       artist = models.CharField(max_length=250)
       duration = models.CharField(max_length=20)

    # def __str__(self):
    #     return self.artist


class Songs(models.Model):
    album = models.ForeignKey(Albums, on_delete=models.CASCADE)
    name = models.CharField(max_length=250)

PS:我也试过重启 PyCharm。

【问题讨论】:

  • 发布错误日志可能会有所帮助。
  • 您不能将非空列添加到具有现有数据的表中。您应该设置null=True 或使用默认值。

标签: python django sqlite pycharm relational-database


【解决方案1】:

在进行迁移之前,您需要将 null=True, blank=True 放在那里。因为您没有这样做,所以您现在有一个错误的迁移文件,并且每次进行新的迁移时,您只是将一个文件添加到迁移文件夹中,但是错误的迁移文件仍然存在并且未被应用。您需要进入迁移文件夹并删除导致错误的错误迁移文件。完成此操作后,您应该能够成功迁移。

【讨论】:

  • 我明白了。我创建了一个管理员超级用户,通过它我可以访问图形数据库并从那里删除它。它现在工作得很好。非常感谢
猜你喜欢
  • 1970-01-01
  • 2021-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-01
  • 2011-10-08
  • 2011-07-12
相关资源
最近更新 更多