Преобразование picklefield из python2 в python3
Переход от django==1.11.16 / python2 к django==4.0.5 / python3.8 и использование django-picklefield в базе данных Я хотел бы преобразовать базу данных в новую систему
Я ищу решение, как я мог бы достичь этой цели.
Рабочим способом является:
#on python2 venv:
s = str(l.get_log()) #where get_log results the Pickled Object
f = open('/tmp/somefile', 'wb')
f.write(s)
f.close()
#on python3 venv:
f = open('/tmp/somefile', 'rb')
cn = f.read()
l.log_list = eval(cn)
Ну, это рабочий способ, но из-за eval может быть очень опасным, и он использует как старый, так и новый виртуальный env.
Я ищу решение, которое использует только одну из виртуальных сред для преобразования строк picklefield в базе данных.