Added db[table].rows iterator

This commit is contained in:
Simon Willison 2019-02-21 21:29:50 -08:00
commit 3095f2e671
3 changed files with 26 additions and 0 deletions

View file

@ -134,6 +134,15 @@ class Table:
).fetchall()
return [Column(*row) for row in rows]
@property
def rows(self):
if not self.exists:
return []
cursor = self.db.conn.execute("select * from [{}]".format(self.name))
columns = [c[0] for c in cursor.description]
for row in cursor:
yield dict(zip(columns, row))
@property
def pks(self):
return [column.name for column in self.columns if column.is_pk]