최근에 원시 PHP에서 django로 이식되어 기존 레거시 데이터베이스를 통합해야했습니다. inspectdb
명령을 사용하여 데이터베이스에서 모델을 구성하고 모든 것이 잘 작동하고있었습니다.오류 발생 - 자식 행을 추가하거나 업데이트 할 수 없습니다 : django의 레거시 데이터베이스에서 외래 키 제약 조건이 적용되지 않습니다.
최근에 like
과 set to favorite
의 기능을 추가하기로 결정했습니다. 그래서 아래와 같이 새로운 테이블을 추가했습니다.
class SongCollection(models.Model):
song_name = models.TextField()
song_type = models.CharField(max_length=765)
likes = models.IntegerField(default=0)
class Meta:
db_table = u'songcollection'
class likeSong(models.Model):
user = models.ForeignKey(User)
company = models.ForeignKey(SongCollection)
첫 번째는 내 원래 class
이고, 다른 하나는 사용자가 어떤 노래를 좋아했다 저장을위한 것입니다. 내 다른 응용 프로그램에서 같은 정확한 구조를 사용하여 django
완전히 개발하고 그들은 잘 작동하고 있습니다. 그러나 likeSong
에 개체를 추가하려고하면 다음 오류가 발생합니다.
Cannot add or update a child row: a foreign key constraint fails
나는 이것이
Django
오류했지만 그것은 또한이 실패한 경우를 확인하기 위해,뿐만 아니라 MySQL의 명령 행에서이 개체를 추가했습니다. 아무도 실제로 여기서 잘못된 점을 이해하는 데 나를 도울 수 있습니까?
덕분에 당신은 최고입니다! – Ron