[英]Django Primary key acting as a foreign key
我有一個帶有9個表的MySQL數據庫。 它們都以某種方式相關,但是我無法連接外鍵。 例如,這是我的兩個表,當我嘗試python manage.py migration時遇到錯誤:
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類中創建主鍵,即release_ID也是Subrelease類中的ForeignKey release_ID? 任何幫助將非常感激。 謝謝。
運行遷移后,我會在cmd中獲得此信息:
django.db.utils.InternalError: (1829, "Cannot drop column 'id': needed in a foreign
key constraint 'app_subrel_release_ID_id_8e08450_fk_app_release_id' of table
'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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.