django-mptt==0.8.4
和django-filter==0.13.0
以及Django==1.8.13
)并删除一些冲突的字段属性后,我想要正确运行我的服务器。< / p>
显然我的应用程序工作正常(我手动测试网站,执行2-3个操作,我看不出明显错误)。
但是,在运行测试时(使用./manage.py test -v 3
),我得到以下输出:
[...]
Running pre-migrate handlers for application debug_toolbar
Creating tables...
Creating table corsheaders_corsmodel
Creating table actstream_follow
Creating table actstream_action
Creating table thumbnail_kvstore
Creating table django_comments
Creating table django_comment_flags
Creating table tagging_tag
Creating table tagging_taggeditem
Creating table blog_newslettersubscription
Running deferred SQL...
Traceback (most recent call last):
File "/home/user/workspace/project/lib/python3.4/site-packages/django/db/backends/utils.py", line 62, in execute
return self.cursor.execute(sql)
psycopg2.ProgrammingError: relation "app_user" does not exist.
应用app
是我拥有AUTH_USER_MODEL
的地方,即我的settings.py
:
AUTH_USER_MODEL = 'app.User'
和我的app/models.py
:
class User(AbstractBaseUser):
[...]
我已经阅读了很多问题,例如this,this,this,this以及this。我搜索了很多,但我找不到解决问题的方法(没有一个能解决)。
奇怪的是,如果我检查数据库(Postgresql),表就存在了。执行:
SELECT relname, reltuples, relpages * 8 / 1024 AS "MB" FROM pg_class ORDER BY relpages DESC;
返回:
relname | reltuples | MB
... | |
app_user | 4034 | 0
... | |
任何线索?任何帮助将非常感激!提前谢谢。
更新:
我的INSTALLED_APPS
:
INSTALLED_APPS = (
'grappelli',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.contrib.gis',
'crispy_forms',
'rosetta',
'django_extensions',
'django_slack',
'filebrowser',
'mptt',
'corsheaders',
'actstream',
'compressor',
'sorl.thumbnail',
'geoposition',
'reversion',
'rest_framework',
'rest_framework.authtoken',
'rest_framework_swagger',
'rest_auth',
'django_comments',
'tagging',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
'rest_auth.registration',
'import_export',
'oauth2_provider',
'places',
'tasks',
'transmeta',
'app',
)
答案 0 :(得分:1)
好像&#39; app&#39; INSTALLED_APPS中缺少该表,因此在初始化测试数据库时不会创建表。
答案 1 :(得分:1)
让我们再看看你的错误,特别是这一点:
Creating table blog_newslettersubscription
Running deferred SQL...
Traceback (most recent call last):
File "/home/user/workspace/project/lib/python3.4/site-packages/django/db/backends/utils.py", line 62, in execute
return self.cursor.execute(sql)
psycopg2.ProgrammingError: relation "app_user" does not exist.
这就是说,您的blog
应用引用了app
中的表格,因此app
中的blog
应位于您的settings.py
按如下方式修改您的INSTALLED_APPS
INSTALLED_APPS = (
'grappelli',
...
'transmeta',
'app','blog')