Django десериализовать для моделирования экземпляра без сохранения в БД - PullRequest
0 голосов
/ 29 мая 2019

Я хочу сериализовать объект в Json, а затем десериализовать его как объект, не сохраняя его в БД (он уже сохранен).Причина в том, что текущее состояние модели может отличаться от состояния, когда я ее сериализовал.

Вот как я сейчас сериализую объект:

ser_obj = serializers.serialize("json", [self.instance])

Теперь, насколько я понимаюдля десериализации я могу сделать что-то вроде:

for obj in serializers.deserialize("json", ser_obj):
    obj.save()

Но это сохранит объект в БД, чего я не хочу.Я думаю, я также могу сделать что-то вроде:

MyModel(field1 = ser_obj['field1'],
        field2 = ser_obj['field2']
       )

Но это кажется неправильным.Поэтому любая идея, как я могу десериализовать объект json в модель Django без сохранения в БД?

Я заметил, что если я использую 'save ()', я могу затем использовать obj.object для получения объекта.

1 Ответ

0 голосов
/ 29 мая 2019

Вы можете десериализовать без сохранения в базе данных.

for obj in serializers.deserialize("json", ser_obj):
    do_something_with(obj)

Это вернет DeserializedObject экземпляров.Вы можете найти больше информации в Django документах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...