2012-10-17 5 views
0

inspectdb 명령을 실행하는 일부 레거시 오라클 데이터베이스가 있습니다. 지금 모델에서 스키마를 생성하려고 syndb 실행하면syncdb를 사용하여 oracle을 얻는 방법

entity_id = models.DecimalField(unique=True, null=True, max_digits=0, decimal_places=-127, blank=True) 

내가 얻을 것이다 오류 다음 DB에 한 열은 제가 장고에서 가져온 것은 및 (정밀도와 스케일없이) 번호를 입력있다 :

Error: One or more models did not validate: 
DecimalFields require a "decimal_places" attribute that is a non-negative integer. 
DecimalFields require a "max_digits" attribute that is a positive integer. 

내 질문은 : 나는 오라클에서 생성 GET 번호에 모델 OIN ENTITY_ID 유형을 수정하는 방법?

답변

0

나는 대답을 알아 냈다고 생각합니다. 장고는 실제로 매우 똑똑하고 목적에 맞게 유선 값을 생성합니다. 목표는 개발자가 보지 않고이 스키마에서 모델을 생성하지 못하게하는 것입니다. 이것은 일반적으로 규모가 없으며 정밀도없이 NUMBER 유형을 사용하는 것과 같이 의미가 있습니다. 실제로이 필드가 있어야하는 것을 단서없이 django를 남겨 둡니다. NUMBER는 가장 일반적인 숫자 형식이며 부울 값, 부동 소수점이어야하는 부호 및 숫자가 있거나없는 정수를 저장할 수 있습니다. 이것이 개발자의 교육적 결정이 필요한 이유입니다.