2
私のモデルはForeignKey
で構成され、generics.DetailView
を使用してdjangoビューでオブジェクトの詳細を表示しています。IDではなくテンプレートの外部キーのUnicode値を取得
に、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