equal
deleted
inserted
replaced
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 """} |
|