TextChoices defines readable, enumeration-like values for Django model fields. Attribute values become database values, while all-capital names become sentence-case labels. section 7.2.1
class SeekingChoice(models.TextChoices):
MUSICIAN = "M"
BAND = "B"
Declare the permitted values as class attributes, then pass the class's .choices tuple to a CharField. section 7.2.1
A seeking-ad choice
A RiffMates SeekingAd can store MUSICIAN = "M" or BAND = "B" in its seeking field. Setting choices=MusicianBandChoice.choices restricts the field to those values, while MusicianBandChoice.MUSICIAN makes validation code clearer than comparing raw strings. section 7.2.1
