본문 바로가기

소프트웨어 이야기/장고와 루비온레일즈

[django] get_XXX_display 함수 : 모델의 속성 값을 사람이 읽을 수 있는 문장으로 변환하기

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