• Django rest framework - вложенные объекты?

    dunmaksim
    @dunmaksim
    Технический писатель
    Создайте два сериализатора - TicketReadSerializer и TicketWriteSerializer:
    class TicketWriteSerializer(serializers.ModelSerializer):
    
        author = serializers.PrimaryKeyRelatedField(
            queryset=get_user_model().objects.all(),
            default=serializers.CurrentUserDefault()
        )
    
        class Meta:
            model = TicketModel
    
    
    class TicketDetailReadSerializer(serializers.ModelSerializer):
    
        author = UserSerializer()
    
        class Meta:
            model = TicketModel

    Затем в представлении (я использую ClassBasedViews) переопределяем метод get_serializer_class:
    def get_serialaizer_class(self):
        if self.request.method == 'GET':
            return TicketReadSerializer
        return TicketWriteSerializer

    P. S. Вижу, не мне одному интересен DRF, и есть потребность в качественных статьях на русском языке.
    Ответ написан
    2 комментария