【问题标题】:how to add a new field in django model如何在 django 模型中添加新字段
【发布时间】:2011-02-14 09:17:48
【问题描述】:

这是我的模型:

class zjm_model(models.Model):
    a = models.CharField(max_length=36)
    b = models.CharField(max_length=36)

而表zjm_model在我的mysql中有很多数据,现在,

我想添加一个新字段:

class zjm_model(models.Model):
    a = models.CharField(max_length=36)
    b = models.CharField(max_length=36)
    c = models.CharField(max_length=36)

但是,当我运行 manage.py syncdb 时,它会显示:

No fixtures found.

那么我怎样才能在我的数据库中添加一个新字段,

谢谢

【问题讨论】:

    标签: mysql django field


    【解决方案1】:

    数据库迁移不是 Django 内置的,因此您需要使用第三方库。我强烈推荐south

    【讨论】:

    • @Tomasz:是的,非常棒。其中一天它会进入 django.contrib。
    【解决方案2】:

    south 非常好,但如果这是一件非常罕见的一次性事情,那么只需启动您最喜欢的 mysql 工具并执行以下操作: ALTER TABLE foo ADD COLUMN wotsit VARCHAR(100) - 我不能记住确切的语法...

    但南部 +1。

    【讨论】:

      【解决方案3】:

      您必须转储以前的数据。

      manage.py dumpdata > dump.json
      

      您可以在 syncdb 之后加载数据。 (“c”列必须允许为空)

      manage.py loaddata dump.json
      

      【讨论】:

        猜你喜欢
        • 2020-04-20
        • 2019-06-26
        • 2018-10-16
        • 1970-01-01
        • 2020-05-29
        • 2013-05-14
        • 2010-12-25
        • 1970-01-01
        • 2020-02-13
        相关资源
        最近更新 更多