2

時間を割いて私の質問を読んでくれてありがとう。

私はpostgresqlでdjango1.3を使用しています。django-page-cms1.4.5をインストールしています。インストールしたアプリにページを追加し、manage.py syncdbを実行し、manage.pymigrateを実行しました。リモート開発サーバーで、admin / pagesに移動し、ページの追加フォームに移動できます。ただし、挿入(フォームの送信)を実行しようとすると、次のエラーが発生します。

IntegrityError: insert or update on table "django_admin_log" violates foreign key constraint 
"django_admin_log_content_type_id_fkey"
DETAIL:  Key (content_type_id)=(24) is not present in table "django_content_type".

django_content_typeテーブルでselectを実行すると、ページに3つの行があります。

 20 | content              | pages             | content
 21 | pagepermission       | pages             | pagepermission
 22 | pagealias            | pages             | pagealias

ローカル開発サーバーにページを挿入できます。そして、私のローカルデータベースdjango_content_typeのpagealiasのIDは24です。

これはどのようにしてローカルからリモートに持ち越されましたか?これは、関連するデータベースから取得する必要がありますか?どうすればこれを修正できますか?

リモート:ubuntu、ローカル:win7

ありがとうございました!

4

1 に答える 1

2

リモートサーバー上のデータベースの2つのインスタンスで実際に同じ問題が発生しました。両方ともmemcacheの同じインスタンスによってキャッシュされ、これが問題でした。

memcacheの個別のインスタンスを作成し、サーバーを再起動してsyncdbを実行することで、これを修正できます。

于 2012-11-15T14:10:13.687 に答える