author | Lennard de Rijk <ljvderijk@gmail.com> |
Wed, 21 Jan 2009 20:25:07 +0000 | |
changeset 886 | f5847f24c56e |
parent 109 | 620f9b141567 |
permissions | -rwxr-xr-x |
""" 21. Specifying 'choices' for a field Most fields take a ``choices`` parameter, which should be a tuple of tuples specifying which are the valid values for that field. For each field that has ``choices``, a model instance gets a ``get_fieldname_display()`` method, where ``fieldname`` is the name of the field. This method returns the "human-readable" value of the field. """ from django.db import models GENDER_CHOICES = ( ('M', 'Male'), ('F', 'Female'), ) class Person(models.Model): name = models.CharField(maxlength=20) gender = models.CharField(maxlength=1, choices=GENDER_CHOICES) def __str__(self): return self.name __test__ = {'API_TESTS':""" >>> a = Person(name='Adrian', gender='M') >>> a.save() >>> s = Person(name='Sara', gender='F') >>> s.save() >>> a.gender 'M' >>> s.gender 'F' >>> a.get_gender_display() 'Male' >>> s.get_gender_display() 'Female' """}