models.py:
class Person(models.Model):
name = models.CharField(max_length=200)
CATEGORY_CHOICES = (
('M', 'Male'),
('F', 'Female'),
)
gender = models.CharField(max_length=200, choices=CATEGORY_CHOICES)
to_be_listed = models.BooleanField(default=True)
description = models.CharField(max_length=20000, blank=True)
views.py:
def index(request):
latest_person_list2 = Person.objects.filter(to_be_listed=True)
return object_list(request, template_name='polls/schol.html',
queryset=latest_person_list, paginate_by=5)
テンプレートでは、を呼び出すとperson.gender
、'M'
またはの'F'
代わりに'Male'
またはを取得し'Female'
ます。
コード(/ )の代わりに値('Male'
または'Female'
)を表示する方法'M'
'F'
4
Django印刷選択値の
—
Ignacio Vazquez-Abrams 2010
私はこの方法を試しました、私のテンプレートで使用しています:{%for person in object_list%} some html {{person.get_gender_display()}} html {%endfor%}次のエラーが発生します:例外値:解析できませんでした残り: '()' 'person.get_gender_display()'から
—
Shankze
悪い点ですが、person.get_gender_displayの後に '()'を含めるべきではありませんでした。その現在動作しています。ありがとう。
—
シャンクゼ
ほんの少しのコメント、性別はMまたはF(1文字の長さ)のいずれかになるため、charfieldの最大長をに設定しても意味がありません
—
アレハンドロガルシア
200
。でmax_lenght=1
十分です、あなたのサイトをより効率的になり、あなたが間違ったデータを持って文句を言わないことを保証します。:)