thirdparty/google_appengine/lib/django/tests/modeltests/choices/models.py
changeset 2866 a04b1e4126c4
parent 2864 2e0b0af889be
child 2868 9f7f269383f7
equal deleted inserted replaced
2864:2e0b0af889be 2866:a04b1e4126c4
     1 """
       
     2 21. Specifying 'choices' for a field
       
     3 
       
     4 Most fields take a ``choices`` parameter, which should be a tuple of tuples
       
     5 specifying which are the valid values for that field.
       
     6 
       
     7 For each field that has ``choices``, a model instance gets a
       
     8 ``get_fieldname_display()`` method, where ``fieldname`` is the name of the
       
     9 field. This method returns the "human-readable" value of the field.
       
    10 """
       
    11 
       
    12 from django.db import models
       
    13 
       
    14 GENDER_CHOICES = (
       
    15     ('M', 'Male'),
       
    16     ('F', 'Female'),
       
    17 )
       
    18 
       
    19 class Person(models.Model):
       
    20     name = models.CharField(maxlength=20)
       
    21     gender = models.CharField(maxlength=1, choices=GENDER_CHOICES)
       
    22 
       
    23     def __str__(self):
       
    24         return self.name
       
    25 
       
    26 __test__ = {'API_TESTS':"""
       
    27 >>> a = Person(name='Adrian', gender='M')
       
    28 >>> a.save()
       
    29 >>> s = Person(name='Sara', gender='F')
       
    30 >>> s.save()
       
    31 >>> a.gender
       
    32 'M'
       
    33 >>> s.gender
       
    34 'F'
       
    35 >>> a.get_gender_display()
       
    36 'Male'
       
    37 >>> s.get_gender_display()
       
    38 'Female'
       
    39 """}