11

私は現在、自分の PC で開発中の django アプリを使用しており、データベースにデータがありますが、テスト サーバーでこのアプリを実行しようとすると、以下のエラーが発生します。

DatabaseError: relation "django_site" does not exist
LINE 1: ..."django_site"."domain", "django_site"."name" FROM "django_si...

このエラーが発生する理由を教えてください。ありがとうございます

4

10 に答える 10

5

この問題は、私を含め、多くの人を悩ませ続けています。退屈なプロセスではありますが、このアプローチは私の脳力を節約します。

次のように、自分のアプリを除いて、INSTALLED_APPS 内のすべての外部アプリを無効にします。

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites',
    'django.contrib.flatpages',
    'main', # This is my own app.

    # 'compressor',
    # 'ckeditor',
    # 'imagekit',
    # 'debug_toolbar',
    # 'rest_framework',
    # 'allauth',
    # 'allauth.account',
    # 'allauth.socialaccount',

    # 'allauth.socialaccount.providers.google',
    # 'allauth.socialaccount.providers.facebook',
)

走る

python manage.py makemigrations
python manage.py migrate

次に、他のすべてのアプリのコメントを外し、上記の makemigrations と migrate を繰り返します。

それは私にとって常に機能します

于 2015-06-16T23:57:43.420 に答える
4

新しいデータベースを開始し、django-debug-toolbar を使用しているときに、この奇妙な問題が発生しました。から取り外し、INSTALLED_APPS実行できましたsyncdb。次に、debug_toolbar を再度追加しましたが、問題なく動作していました。

debug_toolbardjango-debug-toolbar を使用している場合は、インストール済みのアプリをコメントアウトして、もう一度試してください。


更新: 明示的なセットアップの手順に従ってください: http://django-debug-toolbar.readthedocs.org/en/1.2.2/installation.html#explicit-setup

于 2014-03-14T10:48:29.403 に答える
4

モデルや使用しているアプリはわかりませんが、おそらく django_site (サイト モデル) を使用しており、INSTALLED_APPS に「django.contrib.sites」がありません。

私が正しければ'django.contrib.sites',、あなたのに追加するだけですINSTALLED_APPS

于 2013-07-27T00:33:00.053 に答える
0

で次の順序でこの問題を解決しましたINSTALLED_APPS

INSTALLED_APPS = (
    'django.contrib.sites',
    'allauth',                                                                 
    'allauth.account',                                                         
    # my other apps,
)
于 2016-04-18T19:23:11.993 に答える
-2

また、SITE_ID = 1 が settings.py の DATABASE 定義の前にあることを確認してください

于 2015-07-27T19:35:48.953 に答える