Django Rest Framework Choices Field Serializer - я хочу получить второй элемент в кортеже

Это модель

class BookModel(models.Model):
    """The model to represent books."""

    class BookRating(models.IntegerChoices):
        AWFUL = 0, 'Awful'
        BAD = 1, 'Bad'
        NORMAL = 2, 'Normal'
        GOOD = 3, 'Good'
        GREAT = 4, 'Great'
        AWSOME = 5, 'Awesome'
     
    rating = models.PositiveSmallIntegerField(choices=BookRating.choices, null=True, blank=True)

А это сериализатор

Class BookSerializer(serializers.ModelSerializer):

     rating = serializers.ChoiceField(choices=BookModel.BookRating.choices, source='rating')

     class Meta:
         model = BookModel
         fields = '__all__'

Как мне правильно сериализовать его в моем случае? Я видел ответ здесь, где кто-то использовал кортеж кортежей и это работало с логикой, которая у меня есть, но я не знаю, как это сделать, когда я использую выбор другого класса для создания выбора (извините за тавтологию)

вот что мне нужно

class BookSerializer(serializers.ModelSerializer):
    rating = serializers.CharField(source='get_rating_display')

    class Meta:
        model = BookModel
        fields = '__all__'
Вернуться на верх