dmnBrest
@dmnBrest
Salesforce for money. Python, Go, Ruby for soul.

Как правильно десериализировать объект в Django Rest Framework?

Завис с вопросом как правильно десериализировать объект в DRF.
Сделал простейшую конструкцию (пока разбираюсь) - получить объект, сериализировать его в JSON, десериализировать, получить тот же объект. Валидация валится. Что-то мне подсказывает что есть мелочь которую я не учел.

сам сериализатор
class UserSerializer(serializers.ModelSerializer): 
    class Meta:
        model = User
        fields = ('id', 'password', 'username', 'email', 'is_staff', 'is_superuser', 'is_active', 'date_joined')


то что пытаюсь воспроизвести
u = User.objects.get(id=request.user.id)
    u1 = UserSerializer(u).data
    uu1 = JSONRenderer().render(u1)
    uu2 = JSONParser().parse(io.BytesIO(uu1))
    u2 = UserSerializer(data=uu2)
    logger.debug(u2.is_valid())  # => False
    logger.debug(u2.errors)  # => {'username': ['A user with that username already exists.']}
    logger.debug(u2.instance)  # => null

Как мне просто получить объект User назад (тот что был в u) без свяких проверок на дубликаты?
И вообще что это могут быть за дубликаты, если объект тот-же - id присутствует в JSON.
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы