2012-07-02 2 views
10

SQLite에서 PostgreSQL으로 데이터베이스를 마이그레이션하려고 할 때 integer out of range 오류가 발생합니다.정수가 범위를 벗어났습니다

나는 문제를 정확히 지적했다. 내 모델의 IntegerField 필드에 거대한 정수가있다.

기본적으로 내 데이터베이스를 마이그레이션 할 다음 (1)과 같은 소수에이 값을 변경하고 52675215334.

의 순서에, 모두 괜찮습니다.

이러한 큰 값을 저장하기 위해 IntegerField 이외의 다른 데이터 형식을 사용해야합니까?

+1

가능한 중복 (http://stackoverflow.com/questions/283724/big-integer-field-in-django-models) – FogleBird

+1

그 숫자에서 할 수있는 것보다 더 큰 32 비트 int. "bigint"시도하십시오. http://www.postgresql.org/docs/8.2/static/datatype-numeric.html –

+1

SQLite는 <더티 참조 삽입>보다 더 여유가 있습니다. –

답변

17

정수가 인 경우 큰 경우 BigIntegerField을 사용해보세요. 문서에서 :

64 비트 정수는, 많이는 관리자를 9223372036854775807.하는 -9223372036854775808에서 숫자에 맞게 보장되는 것을 제외하고는 IntegerField 같은 <input type="text"> (단일 라인 입력) 등이 나타냅니다.

[장고 모델에서 큰 정수 필드]의
+1

고마워요 ... 결국 실제로는 URL에 추가하는 데 사용 되었기 때문에 CharField로 값을 저장할 수 있다는 것을 알았지 만 이는 또한 효과가있었습니다. – user1328021

관련 문제