私は9つのテーブルを持つMySQLデータベースを持っています。それらはすべて何らかの形で関連していますが、私は外部キーと接続できることに問題があります。Django外部キーとして動作するプライマリキー
class Release(models.Model):
release_ID = models.CharField(max_length=25, primary_key =True)
releaseversion = models.CharField(max_length=25)
model_ID = models.ForeignKey(Model, on_delete=models.CASCADE) #comes from Model class
class Subrelease(models.Model):
subrelease_ID = models.CharField(max_length=25)
release_ID = models.ForeignKey('Release', blank =True) #comes from Release class
subreleaseversion = models.CharField(max_length=25)
がどのようにRELEASE_IDもForeignKeyのRELEASE_IDことであるクラスリリースからの主キーを、になるだろう:私はPythonのmanage.pyの移行しようとすると、例えば、ここで私はエラーを取得しています私のテーブルのうちの2つをありますクラスのサブリリースでは?どんな助けでも大歓迎です。ありがとうございました。
私はCMDでこれを取得する移行を実行した後: django.db.utils.InternalError:(1829年には、「列 『ID』を削除できません:外部キー制約に必要な 『とapp_subrel_release_ID_id_8e08450_fk_app_release_id』テーブルの 『db.app_subrelease』 ")
更新日: いいですか?いいですか?私はDBに移行する際にエラーはありませんか?
class Release(models.Model):
#release_ID = models.CharField(max_length=25, primary_key =True)THIS WILL BE OUR PRIMARY KEY MADE BY DJANGO
releaseversion = models.CharField(max_length=25)
model = models.ForeignKey(Model, on_delete=models.CASCADE) #comes from Model class model_ID
class Subrelease(models.Model):
#subrelease_ID = models.CharField(max_length=25) THIS WILL BE OUR PRIMARY KEY MADE BY DJANGO
release = models.ForeignKey(Release, on_delete=models.CASCADE) #comes from Release class release_ID
subreleaseversion = models.CharField(max_length=25)
"エラー" あなたは外部キーを作成したら、次のように
は、あなたが値および関連インスタンスにアクセスすることができますか?共有は思いやりです。 –
インデントを正しくフォーマットできますか?何のエラー?トレースバック?また、私はあなたがブランクを望んでいないと思う=外来キーとして真実 –
おっと、申し訳ありません、私はエラーを投稿するのを忘れました。知らせてくれてありがとうございます。私は私の質問を更新しました。 – Carbon