1
0
mirror of https://github.com/django/django.git synced 2025-04-27 10:44:36 +00:00
django/tests/choices/models.py
Matthias Kestenholz a86ffb3e0f [2.2.x] Fixed #30280 -- Restored Model.get_FIELD_display()'s coercion of lazy strings.
Reverted cc79c7ee637e65c8da27e56d746c87903d5ec901.

Backport of ea071870f943c23a8eaf36dfcdf382afd6478fd1 from master.
2019-03-22 13:01:15 -04:00

26 lines
735 B
Python

"""
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
from django.utils.translation import gettext_lazy as _
class Person(models.Model):
GENDER_CHOICES = (
('M', _('Male')),
('F', _('Female')),
)
name = models.CharField(max_length=20)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
def __str__(self):
return self.name