У меня есть несколько объектов 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