DecimalField
10 진수 표현으로, python에서 Decimal 인스턴스로 나타낸다.
django.db.models.fields.DecimalField에 해당한다.
FloatField는 소수점의 근사값을 제공하지만 DeciamalField는 소수점 자리를 설정해서 원하는 자릿수만큼 출력이 가능하다.
1. 구성 인자
DecimalField(max_digits, decimal_places, coerce_to_string=None, max_value=None, min_value=None)
- max_digits : 숫자에 허용되는 최대 자릿수를 말하며, None이거나 decimal_places보다 크거나 같은 정수여야 함
- decimal_places : 숫자와 함께 저장할 소수 자릿수를 말함
- coerce_to_string
- 표현식에 문자열 값을 반환해야하는 경우 True로 설정
- Decimal 객체를 반환해야하는 경우 False로 설정
- 기본값은 COERCE_DECIMAL_TO_STRING 설정 키와 같은 값으로, 오버라이드 하지 않으면 True
- serializer가 Decimal 객체를 반환하면 최종 출력 형식은 렌더러에 의해 결정
- localize를 설정하면 값이 True로 설정
- max_value : 제공 된 숫자가 위 값보다 크지 않은지 확인
- min_value : 제공 된 숫자가 위 값보다 작지 않음을 검증
2. 사용 예시
models.DecimalField(..., max_digits=5, decimal_places=2)
최대 숫자 자리수 : 5
최대 소수점 자리수 : 2
즉, xxxxx.yy 라고 표현이 가능하다.
'Django > DRF' 카테고리의 다른 글
[DRF] queryset과 get_queryset()의 차이점 (0) | 2022.05.26 |
---|---|
[Django rest Framework] get_object() (0) | 2022.04.23 |
[Django rest Framework] Swagger 문서 자동화 ( drf-yasg ) (0) | 2022.04.22 |
[Django rest framework] TDD - Unit Test (0) | 2022.04.20 |
[Django] ContentType (0) | 2022.03.29 |