JsonPickle декодирует функцию в значение None

Я использую jsonpickle в проекте django для хранения списков, наборов или массивов пользовательских объектов в models.JSONField.

Я запускаю тесты для проверки своего кода: все в порядке, но все идет не так, если я просто пытаюсь .reload_from_db() экземпляр, содержащий такое JSONField в нем.

Проблема возникает при декодировании json.

Покопавшись в этом, я обнаружил, что эта строка:

 {
  "py/set": [
       {
            "py/function": "Main.files.Effects.AddEffectToAttacks.apply.<locals>.remove_effect.<locals>.wrapper"
       }
  ] }

становится:

{None}

допустим:

s = '{\n     "py/set": [\n          {\n               "py/function": "Main.files.Effects.AddEffectToAttacks.apply.<locals>.remove_effect.<locals>.wrapper"\n          }\n     ]\n}'

jsonpickle.decode(s) вернет {None}, когда это явно не None, а функция:

Main.files.Effects.AddEffectToAttacks.apply.<locals>.remove_effect.<locals>.wrapper

У кого-то есть объяснение и решение для этого, пожалуйста?

Вернуться на верх