2010-06-17 3 views
4

우선 순위 정보를 드롭 다운에 표시하고 싶습니다. 현재 정수 필드를 사용하여 우선 순위를 저장하고 있지만 사용자 유형을 우선 순위로 지정하는 대신 높음/중간/낮음을 표시하려고합니다.장고 관리자에서 고정 드롭 다운을 표시하는 방법?

대략적인 방법은 3 개의 요소, 1 : 높음, 2 : 중간, 3 : 낮음을 저장하는 우선 순위 데이터베이스를 사용하는 것입니다.하지만 과도한 것처럼 보입니다.

더 쉬운 방법은 많이 감사하겠습니다.

제이슨

답변

2

당신은

그래서 모델 요소에 선택을 추가 할 수 있어야한다 :

class myModel(models.Model): 
    mydata = models.CharField(max_length=4, choices= ((u'H', u'High',), (u'M', u'Medium'), (u'L', u'Low'))) 

은 H, M의 DB에서 L를 저장하는 것이지만, 현재 높음, 보통, 낮은. 선택 속성이 드롭 다운 선택자 인 관리 기본값 필드

+0

에서 읽을 때, 아마 더 의미가 있습니다 쿼리 세트에서 우선 순위에 따라 오브젝트를 더 쉽게 주문할 수 있습니다 (어딘가에 필요하다면). –

+0

물론, 원하는 경우 수정하고 개선 할 수있는 많은 방법이 있습니다. – mcpeterson

4

이 같은 모델을 작성할 수

from django.db import models 

class Priority(models.Model): 
    PRIORITY_LOW = 3 
    PRIORITY_MEDIUM = 2 
    PRIORITY_HIGH = 1 

    PRIORITY_CHOICES = (
     (PRIORITY_LOW, 'low'), 
     (PRIORITY_MEDIUM, 'medium'), 
     (PRIORITY_HIGH, 'high'), 
    ) 

    priority = models.IntegerField(choices=PRIORITY_CHOICES) 

을 당신은 더 차라리 문자보다 정수에 priorites을 할당 말을하려는 documentation

+0

선택 항목의 값/텍스트 순서를 섞어서 표시해야합니다 (예 : 예). (PRIORITY_LOW, 'low') –

+0

해결책 주셔서 대단히 감사합니다! 주문은 내가 필요한 것에 대해 잘못되었지만 예를 들어. 드롭 다운 메뉴에서 '낮음'과 PRIORITY_LOW를 교환하여 낮은 값을 출력해야합니다. – FurtiveFelon

+0

예, 맞습니다. 값이 섞여 있습니다. 올바른 값으로 업데이트했습니다. –

관련 문제