Файл не загружается на сервер в Django REST Framework, когда я пытался обновить частично, но в базе данных он сохраняет только имя файла - PullRequest
0 голосов
/ 25 октября 2019

Файл не загружается на сервер в среде REST Django, когда я пытался выполнить частичное обновление, но в базе данных он сохраняет только имя файла. Работает нормально при создании (хранит путь к файлу в базе данных) ## PYTHON |DJANGO

В файле просмотра - метод частичного обновления

#Partial Update User
def partial_update(self, request, pk=0):
    user_instance = details_instance = None

    try:
        users = self.get_queryset()
        user  = users.get(pk=pk)
    except User.DoesNotExist:
        return self.Send_Response(message='User Not found!',status=0)
    else:
        status, serializer = Serialize_Method(UserMSerializer,request.data,instance=user,partial=True)
        if status:
            user_instance = serializer.save()

        #if user found update userdetails in data presence
        user_details = UserDetails.objects.filter(user=user)
        if user_details:
            user_details = user_details[0]

            status, details_serializer = Serialize_Method(UserdetailsSerializer,request.data,instance=user_details,partial=True)
            if status:
                details_instance = details_serializer.save()

        if user_instance or details_serializer:
            message = f"{user_instance} updated Successfully :)"
            self.tracking_user.info(f"{request.user} updated {user} - {user.pk}!")
            return self.Send_Response(message=message)

    return self.Send_Response(message="Details not found !",status=0)

Модель Serializer

class UserdetailsSerializer(serializers.ModelSerializer):

#image = serializers.FileField(use_url=True)

class Meta:
    model  = UserDetails
    fields = ['image','phone_number','address','device_type','device_token','role','user_id']


def create(self,validated_data):
    user_details = UserDetails(**validated_data)
    user_details.save()
    return user_details


def update(self,instance,validated_data):
    userdetails = UserDetails.objects.filter(user=instance.user_id)
    userdetails.update(**validated_data)
    return UserDetails.objects.get(user=instance.user_id)
...