From 7da95c0991f697c2e16b24f4c6162c0b40f0299c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor=20Frans=20Pondaco=20Winandy?= <jvfpw18@inf.ufpr.br> Date: Mon, 9 Mar 2020 08:59:02 -0300 Subject: [PATCH] Fix CircularReferenceError being triggered by collumns of different tables --- database/database_table.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/database/database_table.py b/database/database_table.py index ed495b6..db3555f 100644 --- a/database/database_table.py +++ b/database/database_table.py @@ -787,10 +787,10 @@ class DatabaseTable(Table): # This variable has been evaluated already, just return return self._derivatives[target] - if target is not None and target in recursion_list: + if target is not None and str(self) + '.' + target in recursion_list: # This is a circular reference. Don't be like that. print(target) - raise CircularReferenceError + raise CircularReferenceError(target) original = self._protocol.original_from_target(target, year) or original try: @@ -826,7 +826,7 @@ class DatabaseTable(Table): str_list = re.findall(r'("[\w]+"|[\w]+)', original) level = 0 substitutions = [] - recursion_list.append(target) + recursion_list.append(str(self) + '.' + target) for substring in str_list: derivative = self._derivative_recursion(substring.strip('"'), year, recursion_list=recursion_list) -- GitLab