Refactor _get_criteria
This commit is contained in:
@@ -7,7 +7,7 @@ from sqlalchemy.exc import NoInspectionAvailable
|
|||||||
from sqlalchemy.orm import object_session
|
from sqlalchemy.orm import object_session
|
||||||
from sqlalchemy.schema import MetaData, Table, ForeignKeyConstraint
|
from sqlalchemy.schema import MetaData, Table, ForeignKeyConstraint
|
||||||
|
|
||||||
from .orm import get_mapper, get_tables
|
from .orm import get_column_key, get_mapper, get_tables
|
||||||
from ..query_chain import QueryChain
|
from ..query_chain import QueryChain
|
||||||
|
|
||||||
|
|
||||||
@@ -296,14 +296,11 @@ def _get_criteria(keys, class_, obj):
|
|||||||
|
|
||||||
subcriteria = []
|
subcriteria = []
|
||||||
for index, column in enumerate(key.constraint.columns):
|
for index, column in enumerate(key.constraint.columns):
|
||||||
prop = sa.inspect(class_).get_property_by_column(
|
|
||||||
column
|
|
||||||
)
|
|
||||||
foreign_column = (
|
foreign_column = (
|
||||||
key.constraint.elements[index].column
|
key.constraint.elements[index].column
|
||||||
)
|
)
|
||||||
subcriteria.append(
|
subcriteria.append(
|
||||||
getattr(class_, prop.key) ==
|
getattr(class_, get_column_key(class_, column)) ==
|
||||||
getattr(
|
getattr(
|
||||||
obj,
|
obj,
|
||||||
sa.inspect(type(obj))
|
sa.inspect(type(obj))
|
||||||
|
@@ -271,7 +271,6 @@ class TestDependentObjectsWithSingleTableInheritance(TestCase):
|
|||||||
'polymorphic_identity': u'blog_post'
|
'polymorphic_identity': u'blog_post'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
self.Category = Category
|
self.Category = Category
|
||||||
self.TextItem = TextItem
|
self.TextItem = TextItem
|
||||||
self.Article = Article
|
self.Article = Article
|
||||||
|
Reference in New Issue
Block a user