Commit f96e77ce authored by Serge S. Koval's avatar Serge S. Koval

Merge pull request #634 from Cosmius/master

Use SQLAlchemy-provided way to get primary_key, as a solution of the problem when a model is mapped against a SQLAlchemy Join object.
parents 09982090 7994b5d5
...@@ -36,16 +36,8 @@ def get_primary_key(model): ...@@ -36,16 +36,8 @@ def get_primary_key(model):
:param model: :param model:
Model class Model class
""" """
props = model._sa_class_manager.mapper.iterate_properties mapper = model._sa_class_manager.mapper
pks = [mapper.get_property_by_column(c).key for c in mapper.primary_key]
pks = []
for p in props:
if hasattr(p, 'columns'):
for c in filter_foreign_columns(model.__table__, p.columns):
if c.primary_key:
pks.append(p.key)
break
if len(pks) == 1: if len(pks) == 1:
return pks[0] return pks[0]
elif len(pks) > 1: elif len(pks) > 1:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment