bhargava.prabu
bhargava.prabu

Reputation: 708

Django: Get first Choice Value from tuple

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)

views.py

def index(request,get_gender):
    all_details = {
        'list': Person.objects.filter(gender=get_gender).order_by('-id'),
    }

    return render(request,'index/person.html',context=all_details)

On index, I'm getting M or F as a get_gender parameter but when I get it from a model I'm getting second value from the tuple (male or female) but I need to get first value(m or f).

How to get m or f from the tuple?

Upvotes: 1

Views: 930

Answers (1)

Astik Anand
Astik Anand

Reputation: 13047

In your template html:

From your person object:

To get 'M' or 'F':

{{person.gender}}

and to get 'Male' or 'Female':

{{person.get_gender_display}}

Upvotes: 4

Related Questions