From bcc8e3ccfd2b88f8c76f663e8d93636d5b3c33c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor=20Frans=20Pondaco=20Winandy?= <jvfpw18@inf.ufpr.br> Date: Mon, 10 Jun 2019 08:10:16 -0300 Subject: [PATCH] _aggregate accepts foreign_key from the called table as a clause --- database/database_table.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/database/database_table.py b/database/database_table.py index 64ef5ee..2810be1 100644 --- a/database/database_table.py +++ b/database/database_table.py @@ -881,7 +881,12 @@ class DatabaseTable(Table): referred_table.map_from_database() selecter = select([getattr(func, aggregation)(source_column)]) - for fk_column, fkey in referred_table.get_relations(self): + try: + fk_dict = [(fk_column, fkey) for fk_column, fkey in referred_table.get_relations(self)] + except MissingForeignKeyError: + fk_dict = [(fk_column, fkey) for fk_column, fkey in self.get_relations(referred_table)] + + for fk_column, fkey in fk_dict: selecter = selecter.where(fk_column == fkey) if year: selecter = selecter.where(self.c.ano_censo == year) -- GitLab