Завис с вопросом как правильно десериализировать объект в 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.