DEV Community

MarkPy
MarkPy

Posted on • Updated 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)