Создайте два сериализатора - 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, и есть потребность в качественных статьях на русском языке.