2013-03-16 3 views
1

나는이Django-tastypie - 선택 사항을 포함시키는 방법?

location_state = models.CharField(max_length=255, null=True, blank=True, choices=STATE_CHOICES) 

이 값 같은 모델 필드가 tastypie에 의해 반환해야하지만, 목록 상자에서 사용 가능한 모든 선택 목록을 렌더링 필요합니다. 리소스를 통해 이러한 선택을 공개하는 가장 좋은 방법은 무엇입니까?

답변

1

나는 built-in schema을 사용하여 고객에게 필드 옵션에 대해 알립니다. 그러나 선택 옵션은 기본적으로 스키마 자원에 포함되지 않습니다. This thread은 이것을 달성하는 한 가지 방법을 보여줍니다.

편집 2013년 3월 19일 :

은 또한 당신이 당신의 ModelResource에서 alter_list_data_to_serialize 메서드를 재정/사용하여 메타 필드에 선택 사항을 추가 할 수 있습니다.

+0

그건 하나의 추가 아약스 요청 - 스키마를 얻을 것입니다. json 응답의 "메타"필드에 선택 항목을 추가 할 수 있습니까? – AlexA

+0

내 답변 편집 됨 –

1

어떤 이유로 든 선택 항목을 가져 오는 쉬운 방법을 찾지 못했지만 트릭을 수행 할 것입니다. 당신은하지만주의해야한다

YourModel._meta.get_field('location_state').choices 

_meta는 내부 구현 세부 사항이지만, 애플 리케이션과 사용이 상대적으로 안전해야하므로 확장의 많은 수에 의존하고있다.

+0

죄송합니다. 리소스를 통한 노출에 대한 마지막 비트를 읽지 않았습니다. 나는 tastypie를 사용하지 않았기 때문에 나는 그것에 대해 정말로 논평 할 수 없다. django-piston을 사용하면 리소스 모델을 정의하는 'modelform'방식 대신 모든 필수 필드 (및 추가 기능)가 포함 된 사용자 정의 리소스를 구축 할 수 있습니다. –

관련 문제