mirror of
https://github.com/django/django.git
synced 2025-08-04 02:48:35 +00:00
Fixed #34388 -- Allowed using choice enumeration types directly on model and form fields.
This commit is contained in:
parent
051d5944f8
commit
a2eaea8f22
12 changed files with 48 additions and 19 deletions
|
@ -210,7 +210,7 @@ choices in a concise way::
|
|||
|
||||
year_in_school = models.CharField(
|
||||
max_length=2,
|
||||
choices=YearInSchool.choices,
|
||||
choices=YearInSchool,
|
||||
default=YearInSchool.FRESHMAN,
|
||||
)
|
||||
|
||||
|
@ -235,8 +235,7 @@ modifications:
|
|||
* A ``.label`` property is added on values, to return the human-readable name.
|
||||
* A number of custom properties are added to the enumeration classes --
|
||||
``.choices``, ``.labels``, ``.values``, and ``.names`` -- to make it easier
|
||||
to access lists of those separate parts of the enumeration. Use ``.choices``
|
||||
as a suitable value to pass to :attr:`~Field.choices` in a field definition.
|
||||
to access lists of those separate parts of the enumeration.
|
||||
|
||||
.. warning::
|
||||
|
||||
|
@ -276,7 +275,7 @@ Django provides an ``IntegerChoices`` class. For example::
|
|||
HEART = 3
|
||||
CLUB = 4
|
||||
|
||||
suit = models.IntegerField(choices=Suit.choices)
|
||||
suit = models.IntegerField(choices=Suit)
|
||||
|
||||
It is also possible to make use of the `Enum Functional API
|
||||
<https://docs.python.org/3/library/enum.html#functional-api>`_ with the caveat
|
||||
|
@ -320,6 +319,10 @@ There are some additional caveats to be aware of:
|
|||
|
||||
__empty__ = _("(Unknown)")
|
||||
|
||||
.. versionchanged:: 5.0
|
||||
|
||||
Support for using enumeration types directly in the ``choices`` was added.
|
||||
|
||||
``db_column``
|
||||
-------------
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue