【问题标题】:Django south - can't remove nullDjango south - 无法删除 null
【发布时间】:2013-02-01 03:36:09
【问题描述】:

我有一个 Django 模型:

class Project(models.Model):
    ...
    user = models.ForeignKey(User, null=True, blank=True)
    product = models.ForeignKey(Product, null=True, blank=True)

我想将产品字段更改为:

    ...
    product = models.ForeignKey(Product)

但是当我改变它并运行南迁移时,我得到:

    django.db.utils.DatabaseError: (1005, "Can't create table 'mydb.#sql-3f5_208'    (errno: 121)")

非常感谢任何帮助。

【问题讨论】:

  • 你解决过这个问题吗?
  • 嘿,你能解决这个问题吗,当我尝试删除其中一个字段中的 blank=True 约束时,我遇到了类似的问题

标签: django django-south


【解决方案1】:

出现该错误是因为您使用 InnoDB 表,并且您收到 121 错误,因为数据库您的密钥有问题。 当我遇到该错误时,我通过重新创建数据库来解决它:)

您也可以尝试读取 InnoDB 错误日志文件。

附:尝试向表中添加一些数据,有时会奏效。

【讨论】:

  • 如果我重新创建数据库 South 肯定会抱怨表不存在。或者你的意思是用--initial重启南方历史?
【解决方案2】:

我在安装 easy_thumbnails 时遇到了类似的错误。原来这是 South 0.7.3 中的一个错误,通过安装 South 0.8.1 很容易修复。我不知道这是否是同样的问题,但鉴于您使用的是 South,它似​​乎是这样。

【讨论】:

    猜你喜欢
    • 2011-06-16
    • 2013-08-09
    • 2014-12-12
    • 2011-07-16
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    相关资源
    最近更新 更多