DRF как я могу перечислить варианты выбора из Модели?

У меня есть такая модель, и я хочу показать только список WEIGHT_CHOICES и переменные выше, такие как (XSMALL, SMALL, MEDIUM и т.д.). Но я понятия не имею, какой набор запросов я должен сделать. Потому что когда я ввожу MyAnimal.objects.all(), он показывает мне то, что я хочу, но он показывает мне это (если в базе данных 100 экземпляров) 100 раз. Не знаете ли вы, как я могу получить только один экземпляр или только эти варианты в виде json файла?

class MyAnimal(models.Model):

    XSMALL = 'XS'
    SMALL = 'S'
    MEDIUM = 'M'
    LARGE = 'L'
    XLARGE = 'XL'
    XXLARGE = 'XXL'

    WEIGHT_CHOICES=[
    (XSMALL, '>1kg'),
    (SMALL, '1-5kg'),
    (MEDIUM, '5-10kg'),
    (LARGE, '10-25kg'),
    (XLARGE, '25-50kg'),
    (XXLARGE, '<50kg'),]

    weight = models.CharField(max_length=3, choices=WEIGHT_CHOICES, default=MEDIUM,)

class AnimalWeightSerializer(serializers):
    class Meta:
        model = MyAnimal
        fields = ('WEIGHT_CHOICES', 'XSMALL', 'SMALL', 'MEDIUM', 'LARGE', 'XLARGE', 'XXLARGE',)
class AnimalWeightList(generics.ListAPIView):
    queryset = MyAnimal.objects.all()
    serializer_class = AnimalWeightSerializer

Как описано здесь у каждой модели есть класс _meta, и вы можете получить к нему доступ, чтобы получить выбор полей

choices_models = MyAnimal._meta.get_field('weight').choices
Вернуться на верх