"python manage.py syncdb"没有创建表

odi*_*tla 7 python django

我先跑了

python manage.py syncdb
Run Code Online (Sandbox Code Playgroud)

它为我创建了数据库和表格,然后我尝试添加更多应用程序,这就是我所做的:

创建应用程序

python manage.py startapp newapp
Run Code Online (Sandbox Code Playgroud)

然后,我添加'newapp'INSTALLED_APPS在setting.py:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'newapp',
)
Run Code Online (Sandbox Code Playgroud)

最后我跑了syncdb:

python manage.py syncdb
Run Code Online (Sandbox Code Playgroud)

这是我得到的结果:

Creating tables ...
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
Run Code Online (Sandbox Code Playgroud)

我检查了我的数据库,没有命名的表newapp,没有表的名称newapp.

小智 6

我也遇到了这个问题,并且能够通过删除我的应用程序中的迁移文件夹来绕过它.以某种方式已经创建并且欺骗syncdb认为它已经完全迁移,但是那些迁移脚本实际上没有做任何有用的事情.显然,如果你实际上有想要保存的迁移,请不要尝试这个,但我正在使用一个全新的应用程序和模型.


Nis*_*ede 4

如果你运行:

python manage.py inspectdb > somefile.txt
Run Code Online (Sandbox Code Playgroud)

您可以快速检查您的数据库结构是否与您的 django 模型匹配。

  • 好的,我发现我的数据库结构与我的模型不匹配。我该如何解决? (11认同)