質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Q&A

解決済

1回答

4963閲覧

管理者ページからデータを追加しようとするとFOREIGN KEY constraint failedというエラーが出る

zush

総合スコア12

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

0グッド

1クリップ

投稿2019/03/17 03:53

前提・実現したいこと

Djangoの勉強で大喜利サイトのようなものを作っています
お題のモデルと回答のモデルを作り、ForeignKeyで結び付けています
管理者ページからお題を追加したいのですが、以下のようなエラーが出てしまいます

発生している問題・エラーメッセージ

IntegrityError at /admin/app/challenge/add/ FOREIGN KEY constraint failed

該当のソースコード(model.py)

python

1from django.db import models 2from django.conf import settings 3 4 5class Challenge(models.Model): 6 challenge = models.ImageField(verbose_name='お題', upload_to='challenge') 7 created_datetime = models.DateTimeField(auto_now_add=True) 8 9 10class Answer(models.Model): 11 user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name='回答者', on_delete=models.PROTECT) 12 challenge = models.ForeignKey(Challenge, verbose_name='お題', on_delete=models.PROTECT) 13 answer = models.TextField(verbose_name='回答', max_length=140) 14 created_datetime = models.DateTimeField(auto_now_add=True, verbose_name='投稿日') 15 16
ソースコード ```__イタリックテキスト__ ### 試したこと 調べても分からずじまいです よろしくお願いします ### 補足情報(FW/ツールのバージョンなど) Django2.1.7

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gh640

2019/03/18 02:54

Challenge と Answer というふたつのモデルがあって、管理画面の Challenge の新規作成画面で post しようとするとエラーが出る、という理解で正しいですか? 少し誘導的な質問になりますが、 DB をゼロから作り直してもエラーが出ますか? また、 model の定義に加えて、対応する ModelAdmin の定義と、マイグレーションのステータスも記載されるとより具体的な回答がもらえやすくなると思います。
zush

2019/03/24 12:39

すべてのマイグレーションをやり直したらうまくいきました。 ありがとうございました
guest

回答1

0

自己解決

すべてのマイグレーションをやり直したら解決しました

投稿2019/03/24 12:42

zush

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問