Django Rest Framework - возвращаемое поле ответа (serializer.data) получает значение null вместо URL - PullRequest
0 голосов
/ 30 октября 2019

Я установил «ImageField» в модели, используя почтальон для публикации данных. Изображение успешно загружено. Однако, когда мое представление возвращает serializers.data, поле изображения имеет значение null, которое должно быть URL-адресом изображения. У кого-нибудь есть какие-либо идеи? Я очень ценю это. Это ответ

{
    "user": 7,
    "category": "2018",
    "cover": null,
    "name": "Louisville"
}

Это моя модель

class Journey(models.Model):
    def user_directory_path(self, filename):
        return 'media/journey_cover/{0}/{1}'.format(self.user_id, filename)

    user = models.ForeignKey(to=UserProfile, related_name="journeys", on_delete=models.CASCADE)
    category = models.CharField(null=False, max_length=50)
    cover = models.ImageField(upload_to=user_directory_path)
    created = models.DateTimeField(auto_now_add=True)
    name = models.CharField(null=False, max_length=50)

Мой сериализатор:

class JourneySerializer(serializers.ModelSerializer):
    user = serializers.PrimaryKeyRelatedField(queryset=UserProfile.objects.all())
    cover = serializers.ImageField(use_url=True)

    class Meta:
        model = Journey
        fields = ['user', 'category', 'cover', 'name']

Мой вид

class JourneyList(APIView):
    permission_classes = [IsOwnerOrReadOnly, permissions.IsAuthenticatedOrReadOnly]
    parser_classes = [MultiPartParser, FormParser]

    def post(self, request):
        print(request.content_type)
        serializer = JourneySerializer(data=request.data)
        if serializer.is_valid(raise_exception=True):
            journey = serializer.create(serializer.validated_data)
            journey.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...