У меня есть несколько объектов SQLAlchemy, которые содержат списки большего количества объектов SQLAlchemy и так далее (примерно для 5 уровней). Я хочу преобразовать все объекты в словари.
Я могу преобразовать объект в словарь с помощью свойства __dict__
, без проблем. Тем не менее, у меня возникли проблемы с поиском наилучшего способа преобразования всех вложенных объектов, без необходимости делать каждый уровень явно.
Пока что это лучшее, что я могу придумать, но оно не повторяется должным образом. Он в основном ломается после одного прохода, так что с моей логикой явно что-то не так. Вы видите, что с этим не так??
Я надеюсь сделать:
all_dict = myDict(obj.__dict__)
def myDict(d):
for k,v in d.items():
if isinstance(v,list):
d[k] = [myDict(i.__dict__) for i in v]
else:
d[k] = v
return d