Tại đây
là đoạn mã xử lý các kiểu phức tạp trong cx_Oracle.
Trích:
def ObjectRepr(obj):
if obj.type.iscollection:
returnValue = []
for value in obj.aslist():
if isinstance(value, cx_Oracle.Object):
value = ObjectRepr(value)
returnValue.append(value)
else:
returnValue = {}
for attr in obj.type.attributes:
value = getattr(obj, attr.name)
if value is None:
continue
elif isinstance(value, cx_Oracle.Object):
value = ObjectRepr(value)
returnValue[attr.name] = value
return returnValue
Bạn sử dụng nó như ObjectRepr(complex[0][0])
, if len(complex)>0
, tất nhiên