Python学习笔记——Django配置问题1:syncdb

作者: gzxultra
发布时间:2015-07-29 11:32:10

在配置完数据库mysite/settings.py后,通常需要运行

python manage.py syncdb

为数据库中每个应用建立一个数据库表。
然而如果你安装的Django Version >= 1.9,那么会出现如下问题:

gzxultra@gzxultraPC:~/django_try/mysite$ python manage.py syncdb
Unknown command: 'syncdb'
Type 'manage.py help' for usage.
gzxultra@gzxultraPC:~/django_try/mysite$ python manage.py syncdbpython manage.py syncdb
Unknown command: 'syncdbpython'
Type 'manage.py help' for usage.

在stackoverflow上找到原因和解决方法:
syncdb is deprecated because of the migration system.
Now you can log your changes using makemigrations. This transforms your model changes into python code to make them deployable to another databases.
After you created the migrations you have to apply them: migrate.
So instead of using syncdb you should use makemigrations and then migrate.

简言之:在Django 1.9及未来的版本种使用migrate代替syscdb.

gzxultra@gzxultraPC:~/django_try/mysite$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, contenttypes, auth, sessions
Running migrations:
  Rendering model states... DONE
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying sessions.0001_initial... OK
gzxultra@gzxultraPC:~/django_try/mysite$ ls
db.sqlite3  manage.py  mysite

版权声明:本文为博主原创文章,未经博主允许不得转载。

标签: Django Go Python
来源:http://blog.csdn.net/gzxultra/article/details/46970743

推荐: