from enum import Enum from enumfields import EnumIntegerField class Fruit(Enum): APPLE = 0 BANANA = 1 ORANGE = 2 class Farm(models.Model): fruit_type = EnumIntegerField(Fruit) quantity = models.IntegerField()
from django.db import models from enumfields import EnumIntegerField class GenderEnum(Enum): MALE = 1 FEMALE = 2 NOT_SPECIFIED = 3 class Person(models.Model): name = models.CharField(max_length=100) gender = EnumIntegerField(GenderEnum) age = models.IntegerField(default=0) p1 = Person(name="John", gender=GenderEnum.MALE, age=30) p1.save()In this example, the EnumIntegerField is used as a field in a Django model to store gender information. The GenderEnum enum is defined with three possible values, and the gender field only accepts values from this set. The p1 object is created with the gender field set to GenderEnum.MALE, and this is later saved as a new record in the Person model. Overall, the EnumIntegerField class is a useful tool for Django developers who want to use enums as fields in their models. By using enums, developers can ensure that specific sets of values are used, making code more readable, maintainable, and error-free.