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