extend MetaDataColumn by adding column for name of column for referenced tables

This commit is contained in:
Thomas Peetz
2025-01-12 02:41:40 +01:00
parent a3652cc9b8
commit bf14c9a020
11 changed files with 203 additions and 25 deletions
+9 -4
View File
@@ -43,7 +43,7 @@ class KontorDB:
meta_data = {}
order = 0
for (_, column) in self.session.query(MetaDataTable, MetaDataColumn).filter(MetaDataTable.id == MetaDataColumn.table_id).filter(MetaDataTable.table_name == table_name).filter(MetaDataColumn.is_shown == 1).all():
meta_data[order] = {'column': column.column_name, 'label': column.column_label, 'order': column.column_order}
meta_data[order] = {'column': column.column_name, 'label': column.column_label, 'order': column.column_order, 'ref_column': column.ref_column}
order += 1
return meta_data
@@ -70,7 +70,7 @@ class KontorDB:
# print(f"KontorDB.get_data: {row}")
data.append(list(row))
cursor.close()
print(f"KontorDB.getData: return {len(data)}")
# print(f"KontorDB.getData: return {len(data)}")
if table_name == 'comic' and len(where_clause) == 0:
data.clear()
comics = self.session.query(Comic).all()
@@ -79,8 +79,13 @@ class KontorDB:
row = []
for order in columns.keys():
column_name = columns[order]['column']
if column_name == 'publisher_id':
row.append(item.publisher.name)
if str(column_name).endswith("_id"):
ref_table = column_name[:-3]
# print(f"{ref_table=}")
ref = getattr(item, ref_table)
value = getattr(ref, "name")
# print(f"{value=}")
row.append(value)
else:
row.append(getattr(item, column_name))
# print(repr(row))