Skip to content

Commit b50818f

Browse files
committed
refactor table_name fetch for better readability
1 parent fb07668 commit b50818f

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

gino/declarative.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -152,12 +152,16 @@ def _init_table(cls, sub_cls):
152152
for each_cls in sub_cls.__mro__[::-1]:
153153
for k, v in getattr(each_cls, '__namespace__',
154154
each_cls.__dict__).items():
155-
declared_callable_attr = callable(v) and \
156-
getattr(v, '__declared_attr__', False)
157-
if k != '__tablename__' and declared_callable_attr:
155+
declared_callable_attr = (
156+
callable(v) and getattr(v, '__declared_attr__', False))
157+
if k == '__tablename__':
158+
if declared_callable_attr:
159+
table_name = v(sub_cls)
160+
else:
161+
table_name = v
162+
continue
163+
if declared_callable_attr:
158164
v = updates[k] = v(sub_cls)
159-
elif k == '__tablename__':
160-
table_name = v(sub_cls) if declared_callable_attr else v
161165
if isinstance(v, sa.Column):
162166
v = v.copy()
163167
if not v.name:

0 commit comments

Comments
 (0)