【问题标题】:Difference between migrate and syncdb commands in django?django 中 migrate 和 syncdb 命令的区别?
【发布时间】:2015-08-22 05:55:53
【问题描述】:

我找不到这是 django.org,那么 Django 1.7 应该在第一次运行时自动创建超级用户吗?

我上次使用 Django 是 1.6.x,运行命令是 syncdb。现在命令是迁移,它似乎没有提示您创建超级用户。

我可以通过运行 python manage.py createsuperuser 轻松解决此问题,但这是一个错误还是按照所有教程的预期工作,即在第一次运行时创建用户?

这就是我运行 migrate 时所做的事情。

Operations to perform:
  Apply all migrations: admin, contenttypes, auth, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying sessions.0001_initial... OK

这是新的virtualenv,只有 Python 2.7、pip 和 Django 1.7

【问题讨论】:

    标签: python django python-3.x


    【解决方案1】:

    来自文档 - 迁移:

    与syncdb不同,此命令不会提示您创建超级用户 如果不存在(假设您使用的是 django.contrib.auth)。采用 如果您愿意,请创建超级用户来执行此操作。

    https://docs.djangoproject.com/en/1.8/ref/django-admin/#migrate-app-label-migrationname

    【讨论】:

      【解决方案2】:

      基本上遵循与 South 相同的过程(至少对于标准迁移过程而言)——它只是稍微简化了一些事情。

      迁移命令后运行python manage.py createsuperuser命令创建超级用户。

      也请阅读https://realpython.com/blog/python/django-migrations-a-primer/

      【讨论】:

        猜你喜欢
        • 2014-02-19
        • 2015-06-23
        • 2015-04-11
        • 2015-07-10
        • 2011-10-08
        • 2014-01-18
        • 2016-05-29
        • 2014-04-12
        • 2017-03-06
        相关资源
        最近更新 更多