django中的migrate和syncdb命令之间的区别?

时间:2015-06-07 19:44:58

标签: python django python-3.x

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

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

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

这是我运行时迁移的功能。

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

2 个答案:

答案 0 :(得分:3)

来自docs - 迁移:

  

与syncdb不同,此命令不会提示您创建超级用户   如果不存在(假设您使用的是django.contrib.auth)。使用   如果你愿意,可以创建超级用户。

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

答案 1 :(得分:1)

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

enter image description here

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

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