Django: 選択肢の値を表示する 質問する

Django: 選択肢の値を表示する 質問する

モデル.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'

ベストアンサー1

どうやらあなたは正しい道を進んでいたようです -get_FOO_display()間違いなくあなたが望んでいるものです:

テンプレートでは、()メソッド名に を含めません。次の操作を行います。

{{ person.get_gender_display }}

おすすめ記事