Мои данные REST API не сохраняются в базе данных, но возвращают правильные данные - PullRequest
0 голосов
/ 26 мая 2020

Я новичок в Django. Я хочу сохранить свои данные в своей базе данных MYSQL с помощью запроса POST и получить данные. Однако по какой-то причине он не сохраняет в базе данных, а получает правильные данные.

Я предполагаю, что строка cust = UserSerializer(data = user_req_data) недействительна. Как исправить мой код?

class UserSerializer(serializers.ModelSerializer):
    def create(self, validatedData):
        validatedData['password'] = make_password(validatedData['password'])
        #Save to database?

        return validatedData

Посмотреть

#User Viewset
class UserViewSet(viewsets.ModelViewSet):
    queryset = Users.objects.all()
    serializer_class = UserSerializer

1 Ответ

1 голос
/ 26 мая 2020

Замените сериализатор этим классом,

class UserSerializer(serializers.ModelSerializer):
    def create(self, validated_data):
        instance = super().create(validated_data)
        try:
            instance.password = make_password(validated_data['make_password'])
            instance.save()
        except KeyError:
            pass
        return instance
...