我有一個帶有9個表的MySQL數據庫。它們都以某種方式相關,但我無法連接外鍵。例如這裏有兩個我的表,我得到一個錯誤,當我嘗試蟒蛇manage.py遷移: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在課堂Subrelease?任何幫助將非常感激。謝謝。
後,我跑遷移我得到這個在CMD: django.db.utils.InternalError:(1829年,「不能刪除列‘ID’:在一個外鍵約束需要‘app_subrel_release_ID_id_8e08450_fk_app_release_id’表‘db.app_subrelease’的「)
更新: 這是好的/可以做的嗎?遷移到數據庫時沒有任何錯誤?
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