2011-02-15 7 views
8

내 템플릿의 modelform으로 만들어진 formset을 반복합니다. 해당 모델에 대한 추가 정보를 제공하고 싶습니다.템플릿에서 양식이 사용하는 모델 인스턴스에 어떻게 액세스합니까?

{% for form in formset.forms %} 
Status:{{ form._meta.model.status }} 
    {{form}} 
{% endfor %} 

을하지만 그냥 TemplateSyntaxError를 던졌습니다 :이 How to Access model from Form template in Django 질문에 대한 답이 작동한다면, 나는이 작업을 수행 할 수있는 변수와 속성은 밑줄로 시작하지 않을 수 있습니다.

답변

20

나는 그것이 당신이 원하는 것이라고 생각하지 않습니다. 모델은 클래스입니다. status은 없기 때문에 특정 인스턴스에 대한 값만 가져 오는 필드입니다.

양식에 연결된 인스턴스 (예 : form.instance)에 액세스하면 무슨 뜻인지 의심 스럽습니다.

+0

예 - 혼란스러운 수업 및 사례에 대해 사과드립니다. 빠른 답변 감사합니다. – marue

+1

form.instance는 내가 찾고있는 것입니다 :) –

0

값을 읽는 폼에 속성을 만들면 템플릿에서 매우 쉽게 액세스 할 수 있습니다.

class SomeForm(...): 
    @property 
    def status(self): 
    return self._meta.model.status 

... 

     {{ form.status }} 
+0

흠, 좋은 소식입니다. 하지만 modelfields를 많이 가지고 있기 때문에 양식을 채우기위한 기본 정보로 제공하고자합니다. 양식에 모든 것을 넣을 생각이별로 들지 않습니다 ... – marue

+0

아, 그런데 감사합니다. 당신도 당신의 빠른 대답을 위해. – marue

관련 문제