2012-10-09 2 views
2

provider에 foreignKey를 연결하려고하는데 bestbuy_type에 대해 M2Mfield를 연결하려고합니다.django.db.utils.IntegrityError : 1452 '자식 행을 추가하거나 업데이트 할 수 없습니다. 외래 키 제약 조건이 적용되지 않습니다.

class MasterProduct(BaseModel): 
    provider = models.ForeignKey('products.Provider', related_name = 'master_products', blank=True, null=True) 
    bestbuy_type = models.ManyToManyField('products.BestBuy',blank=True, null=True) 
    ...other (no relationship) fields which work fine 

오류가 그러나 실제로 필드에 대한 장고 관리자에서 올바른 값을 채 웁니다 않습니다이 사용 :

(1452, 'Cannot add or update a child row: a foreign key constraint fails (`savingschampion`.`products_masterproduct`, CONSTRAINT `provider_id_refs_id_2ea9c584` FOREIGN KEY (`provider_id`) REFERENCES `products_provider` (`id`))') 

필드

는 나의 모델에서 지정됩니다 중이 분야의 나는 오류 저장시 생성됩니다.

MySQL과 엔진이 지정된 사용은 다음과 같습니다

'ENGINE': 'django.db.backends.mysql' 

사람이 이런 일이 될 왜 어떤 생각을 가지고 있습니까?

+0

하면 마이그레이션 또는 동기화를 사용하십니까 :

내 데이터베이스 설정에이 라인을 추가는의 MyISAM을 사용하는 한국에서 만든 새 테이블을 강제로 나를 위해이 문제를 해결? 동기화 한 후에 모델을 변경 했습니까? –

+0

이것은 남한과 함께 있었고, 답변을 찾았으므로 초 단위로 아래에 게시했습니다. –

답변

7

작성중인 새 테이블이 기존 테이블과 같이 MyISAM이 아닌 InnoDB를 사용하고 있다는 것을 알 수 있습니다.

'OPTIONS' : { 'init_command' : 'SET storage_engine=MyISAM', }, 
관련 문제