我正在使用 Pynamodb 来查询DynamoDB。
我想使用Tabulate提供一个数据表。
没有嵌套MapAttributes
。
当对象彼此嵌套时,对象需要解压缩。 我想知道其他人如何解决这个解包嵌套对象的问题?
我正在使用这种方法在Model上创建一个iterable:
def __iter__(self):
for name, attr in self.get_attributes().items():
try:
if isinstance(attr, MapAttribute):
yield name, getattr(self, name).as_dict()
else:
yield name, attr.serialize(getattr(self, name))
except:
pass
此方法从pynamodb查询传递结果集:
def get_headers_and_data(resultset):
headers = []
data_rows = []
result_count = 0
for result in resultset:
data = []
# tmp = list(result)
for field in list(result):
headers.append(field[0])
data.append(field[1])
data_rows.append(data)
result_count += 1
return headers, data_rows, result_count
当我没有嵌套对象时,我最终会得到一个元组列表,这些元组很容易分解为字段名和数据。
当我有嵌套对象时,我可以测试类型,如果它是一个字典,我可以处理。我认为有人之前已经这样做了,并且有更好的方法。