我有一个django项目“demo_project”,我运行了syncdb命令并创建了表并保存了数据。然后我拿了这个项目的副本“demo_project_copy”并运行了syncdb命令。现在我无法使用存储在数据库中的先前数据登录(错误:无效凭据)。当我在“demo_project”上运行syncdb时,我收到错误。 “demo_project_copy”上的syncdb是否覆盖了“demo_project”的数据?发生了什么事?
答案 0 :(得分:0)
syncdb不会覆盖数据库数据,它只是添加您在项目中安装的应用程序所需的数据库表。因此,如果您在settings.py文件中的INSTALLED_APPS中添加一个新应用程序,然后运行syncdb,该命令将添加必要的表,仅此而已。
如果您使用的是django 1.7.x,最好使用migrate命令,因为不推荐使用django 1.7.x syncdb。
syncdb命令的参考,django的文档非常好: https://docs.djangoproject.com/en/1.6/ref/django-admin/#syncdb