2
내 모델은 ForeignKey
으로 구성되어 있으며 generics.DetailView
을 사용하여 장고보기에서 개체 세부 정보를 렌더링합니다.템플릿에서 ID 대신 외래 키 유니 코드 값 가져 오기
MyModel
class MyModel(models.Model):
myField = models.ForeignKey(...)
def get_fields(self):
# called by the template
return [(field.verbose_name, field.value_to_string(self)) for field in type(self)._meta.fields]
MYVIEW
class Detail(DetailView):
model = MyModel
template_name = 'path/to/template.html'
def get_context_data(self, **kwargs):
context = super(Detail, self).get_context_data(**kwargs)
# do something
return context
그리고
{% for field, value in object.get_fields %}
<tr>
<th>{{ field }}</th>
<td>{{ value }}</td>
</tr>
{% endfor %}
템플릿을 렌더링 지금에 MyTemplate, 내가 무엇을 얻을 id
보다는 __unicode__
표현입니다. 동일한 문제가 ChoiceField
에도 발생합니다 (라벨보다는 가치가 있습니다).
제 질문은 실제 값이 아닌 레이블 또는 유니 코드 표현을 어떻게 얻을 수 있습니까?
고맙습니다. – AnnShress