DEV Community

MarkPy
MarkPy

Posted on Edited on

working with Django model ChoiceField

Today we going to explore how to work with model ChoiceField in Django.
To better understand, let's see the following examples.

#models.py
#Django Models ChoiceField    
class Profile(models.Model):
    # Country Choices
    CHOICES = (
        ('US', 'United States'),
        ('FR', 'France'),
        ('CN', 'China'),
        ('RU', 'Russia'),
        ('IT', 'Italy'),
    )
    username = models.CharField(max_length=300)
    country = models.CharField(max_length=300, choices = CHOICES)

    def __str__(self):
        return self.username 

Enter fullscreen mode Exit fullscreen mode

Result:

Alt text of image

Grouped Model ChoiceField

class Profile(models.Model):
    # Country Choices
    CHOICES = [
    ('Europe', (
            ('FR', 'France'),
            ('ES', 'Spain'),
        )
    ),
    ('Africa', (
            ('MA', 'Morocco'),
            ('DZ', 'Algeria'),
        )
    ),
    ]
    username = models.CharField(max_length=300)
    country = models.CharField(max_length=300, choices = CHOICES)

    def __str__(self):
        return self.username

Enter fullscreen mode Exit fullscreen mode

Result:

Alt text of image

Reference:
Django Model ChoiceField

All Done!

Top comments (0)