2011-12-27 3 views
1

그래서 개발 데이터베이스 (기본)와 실제 데이터베이스가 두 개 있습니다.저장시 Python 모델이 올바른 데이터베이스를 참조하지 않습니다.

내 모델과 같이 보입니다 : 모델의

class Derp(models.Model): 
    company = models.ForeignKey(Co) 

나머지는 정말 관련이 없습니다.

새로운 "Derp"를 저장하려고하면 내 외래 키로 참조하는 ID가 라이브 데이터베이스에 있기 때문에 "성실성 오류"가 발생합니다. 내 기본 데이터베이스가 아닙니다.

문제가 좀 더 어려워지기 때문에 개발 중이기 때문에 저의 테이블은 저의 개발 데이터베이스에 저장되어 있습니다. 따라서 외래 키는 개발시 테이블을 참조해야하므로 (따라서 오류가 발생 함) 필자는 실제 데이터베이스를 참조해야합니다.

도와주세요.

+0

왜 dev db에 외래 키를 사용하여 라이브 DB를 참조 하시겠습니까? – thatwasbrilliant

+0

@thatwasbrilliant 내가 참조하는 객체의 ID가 라이브 DB에 있고 개발 DB가 아니기 때문에. – tnw

+0

하지만 왜? 일반적으로 프로덕션 환경을 미러링하도록 개발 환경을 원할 경우 실제 DB를 dev DB에 복사해야합니다. 정말로 원하지 않는다면 외래 키가 해결 될 수 있도록 하나의 테이블 만 복사 할 수 있습니다. – thatwasbrilliant

답변

4

Django의 다중 데이터베이스 기능을 사용하여 개발 데이터베이스와 운영 데이터베이스를 구분해서는 안됩니다.

개발 중에 실행할 때 개발자 db와 프로덕션에서는 프로덕션에만 액세스 할 수 있어야합니다. 혼란의 여지가 없어야합니다.

+0

아, 네 말이 맞아. 나는 그렇게 보지 못했다. – tnw

관련 문제