Django Model Field에 choices 속성이 걸려있는 경우, 코드에 맞는 display용 텍스트를 볼 수 있게 하는 함수가 있다.
음.. 말로하면 어려운데, 아무튼 이런거다.
from django.db import models class Book(models.Model): CONDITIONS = ( (1, '새책'), (2, '중고책'), ) name = models.CharField(max_length=60) condition = models.CharField(max_length=2, choices=CONDITIONS)
이 경우, Book의 상태값은 1과 2로 저장된다. 그런데 책 정보를 웹페이지에 보여줄 때는 '새책', '중고책'처럼 사람이 읽을 수 있는 문장으로 보여주고 싶을 때는
get_XXX_display() 함수를 사용하면 된다.
>>> p = Person(name="Operating System", condition=2) >>> p.save() >>> p.condition 2 >>> p.get_condition_display() '중고책'
이 함수는 장고에서 자동으로 만들어주는거다. 따로 만들필요가 없다!
참고
[Django] Model instance reference - Extra instance methods
[Stack Over Flow] Django : Display Choice Value
'소프트웨어-이야기 > 프로그래밍 언어와 프레임워크' 카테고리의 다른 글
(Django) Rest Frame Work Filter 활용하기 (0) | 2018.09.09 |
---|---|
(Django) DB Connection을 관리하는 방법 (0) | 2018.08.04 |
(django) 자주 사용되는 queryset 모아서 관리하기 (0) | 2018.07.14 |
Django VS Ruby On Rails (1) | 2018.05.20 |
레일즈에 Service/Decorator Layer 적용하기 (8) - 끝~ (0) | 2018.04.22 |