django south - 列不存在

-1 投票
2 回答
1008 浏览
提问于 2025-04-17 18:14

我在使用south进行迁移时遇到了问题。具体情况是这样的:

我创建了一个模型,然后执行了命令schemamigration app --auto,接着又执行了migrate app,一切都很顺利。后来,我在这个模型里添加了一个新的字段,然后又执行了这两个命令,但这次出现了一个错误,提示说'None'这个列不存在。我觉得可能是因为我添加了一个外键字段,但没有设置默认值。我给这个字段加了一个空字符串作为默认值,然后再次执行命令,结果还是出现同样的错误。现在我删除了这个模型,重新执行了schemamigration和migrate app,但错误依然存在。

这是我的模型:

class User(models.Model):
  registerdate = models.CharField(max_length=400,default='')
  vorname = models.CharField(max_length=100,default='')
  nachname = models.CharField(max_length=100,default='')
  email = models.EmailField(max_length=100,default='')
  strasse = models.CharField(max_length=100,default='')
  hausnr = models.CharField(max_length=100,default='')
  stadt = models.CharField(max_length=100,default='')
  land = models.CharField(max_length=100,default='')
  ##for confirm mails - the hash 
  unique = models.CharField(max_length=400,default='')

  kennwort = models.CharField(max_length=200,default='')
  username = models.CharField(max_length=200,default='')

  locations = models.CharField(max_length=10, default='')

有人能帮我吗?

非常感谢!

2 个回答

0

你需要修改你的迁移文件,或者重新生成一个有效的默认值。你认为默认值不正确的想法是对的。

1

当然可以!请看下面的内容:

在编程中,有时候我们需要处理一些数据,比如从一个地方获取信息,然后在另一个地方使用这些信息。这个过程就像是把水从一个桶倒到另一个桶一样。

有些时候,我们会遇到一些错误或者问题,这就像是在倒水的时候,水洒了出来。为了避免这种情况,我们需要提前做好准备,比如使用一些工具来帮助我们更好地管理这些数据。

在编程的世界里,有很多这样的工具和方法,它们可以帮助我们更有效地处理信息,确保我们的程序运行得更顺利。

希望这些解释能帮助你更好地理解编程中的数据处理!

field_name = models.CharField(max_length=400, blank=True)

撰写回答