TIL/Django
TIL.69 FloatField 활용하기
codermun
2020. 12. 16. 21:18
728x90
반응형
장고를 이용해 데이터모델링을 구성할때
아래와 같은 평점은 어떻게 구현 할 수 있을까?

따라서 리뷰에서 평점 모델링을 구성한다고 했을 경우 아래의 예시와 같이 작성할 수 있다.
import json
from django.views import View
class ReView(View):
rate = models.IntegerField()
class Meta:
db_table = 'reviews'
평점은 대략 0.5 ~ 5.0까지의 실수! 로 표현되는게 일반적이다.
따라서 소수 첫번째자리 까리 표현할 수 있으며 여기서 IntegerField 사용은 어울리지 않다
아래와 같이 FloatField를 사용하며 Djanog의 validators 모듈을 사용하여 평점의 범위를 지정해 줄 수 있다.
import json
from django.views import View
from django.core.validators import MinValueValidator, MaxValueValidator
class ReView(View):
rate = models.FloatField(validators=[MinvalueValidator(0,5),MaxValueValidator(5.0)])
class Meta:
db_table = 'reviews'
평점이라는 정보를 DB에 저장해야하는 경우, validators를 사용하도록 하자!
728x90
반응형