2015-12-18 12 views
9

私はDjango(1.9)RestバックエンドとAngularJSフロントエンドをクロスサイト参照で開発しています。処理方法をCORSダンピングデータ付きDjango 1.9: "corsheaders_corsmodel"は存在しません

$ python manage.py dumpdata -o dev/dumpdata.json 
CommandError: Unable to serialize database: relation 
"corsheaders_corsmodel" does not exist 
LINE 1: SELECT COUNT(*) AS "__count" FROM "corsheaders_corsmodel" 

任意のアイデア:./manage.py dumpdataコマンドを実行しようとするが、それは次の例外がスローされますか?

+0

現在のバージョンのcorsheadersがインストールされていますか? –

+0

django-cors-headers == 1.1.0 – user3897818

+0

この質問に正解を選んでください。 @ myk-willisには正しいものがあるようです。 – daveslab

答えて

21

私はこの同じ問題を抱えていた、とcorsheadersアプリのために特別にpython manage.py makemigrationsを呼び出すことによってそれを解決:

$ python manage.py makemigrations corsheaders 
$ python manage.py migrate 

私は何を私の場合で起こったことは、1.9へのDjango 1.8からアップグレードした後、という初期だったと思いますDBを更新したときにマイグレーションが適用されることはありませんでした。

私はcorsheadersアプリがpython manage.py migrateApply all migrations出力にリストされていなかったことに気づいてそれを見つけ出し:

$ python manage.py makemigrations corsheaders 
Migrations for 'corsheaders': 
    0001_initial.py: 
    - Create model CorsModel 
:実際には最初の移行を作成しますけれども corsheadersのためのマニュアルの移行を実行している

$ python manage.py migrate 
Operations to perform: 
    Apply all migrations: sessions, admin, xyz, auth, contenttypes 
Running migrations: 
    No migrations to apply. 

これを実行すると、migrateは出力にcorsheadersを表示し、正常に移行を正常に適用します。

$ python manage.py migrate 
Operations to perform: 
    Apply all migrations: corsheaders, sessions, admin, xyz, auth, contenttypes 
Running migrations: 
    Rendering model states... DONE 
    Applying corsheaders.0001_initial... OK 
1

corsheaders_corsmodelテーブルが存在しない場合、ダンプするデータはありません。 だから、あなただけ実行することができます。

$python manage.py dumpdata --exclude=corsheaders 

私は同じ問題を抱えていたし、私はそれをこのように解決します。

関連する問題