Rename functions to better cope with naming standards
This commit is contained in:
@@ -7,7 +7,7 @@ Here you can see the full list of changes between each SQLAlchemy-Utils release.
|
|||||||
0.25.3 (2014-04-21)
|
0.25.3 (2014-04-21)
|
||||||
^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
- Added support for primary key aliases in primary_keys function
|
- Added support for primary key aliases in get_primary_keys function
|
||||||
- Added get_columns utility function
|
- Added get_columns utility function
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,12 +4,6 @@ Model helpers
|
|||||||
.. module:: sqlalchemy_utils.functions
|
.. module:: sqlalchemy_utils.functions
|
||||||
|
|
||||||
|
|
||||||
declarative_base
|
|
||||||
^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
.. autofunction:: declarative_base
|
|
||||||
|
|
||||||
|
|
||||||
escape_like
|
escape_like
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
@@ -22,6 +16,18 @@ get_columns
|
|||||||
.. autofunction:: get_columns
|
.. autofunction:: get_columns
|
||||||
|
|
||||||
|
|
||||||
|
get_declarative_base
|
||||||
|
^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. autofunction:: get_declarative_base
|
||||||
|
|
||||||
|
|
||||||
|
get_primary_keys
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. autofunction:: primary_keys
|
||||||
|
|
||||||
|
|
||||||
query_entities
|
query_entities
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
@@ -46,12 +52,6 @@ naturally_equivalent
|
|||||||
.. autofunction:: naturally_equivalent
|
.. autofunction:: naturally_equivalent
|
||||||
|
|
||||||
|
|
||||||
primary_keys
|
|
||||||
^^^^^^^^^^^^
|
|
||||||
|
|
||||||
.. autofunction:: primary_keys
|
|
||||||
|
|
||||||
|
|
||||||
sort_query
|
sort_query
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
|
||||||
|
|||||||
@@ -3,21 +3,22 @@ from .batch import batch_fetch, with_backrefs
|
|||||||
from .decorators import generates
|
from .decorators import generates
|
||||||
from .exceptions import ImproperlyConfigured
|
from .exceptions import ImproperlyConfigured
|
||||||
from .functions import (
|
from .functions import (
|
||||||
|
create_database,
|
||||||
|
create_mock_engine,
|
||||||
|
database_exists,
|
||||||
defer_except,
|
defer_except,
|
||||||
|
drop_database,
|
||||||
escape_like,
|
escape_like,
|
||||||
get_columns,
|
get_columns,
|
||||||
|
get_declarative_base,
|
||||||
|
get_primary_keys,
|
||||||
identity,
|
identity,
|
||||||
primary_keys,
|
|
||||||
naturally_equivalent,
|
|
||||||
render_statement,
|
|
||||||
render_expression,
|
|
||||||
create_mock_engine,
|
|
||||||
mock_engine,
|
mock_engine,
|
||||||
|
naturally_equivalent,
|
||||||
|
render_expression,
|
||||||
|
render_statement,
|
||||||
sort_query,
|
sort_query,
|
||||||
table_name,
|
table_name,
|
||||||
database_exists,
|
|
||||||
create_database,
|
|
||||||
drop_database
|
|
||||||
)
|
)
|
||||||
from .listeners import (
|
from .listeners import (
|
||||||
coercion_listener,
|
coercion_listener,
|
||||||
@@ -76,12 +77,13 @@ __all__ = (
|
|||||||
generates,
|
generates,
|
||||||
generic_relationship,
|
generic_relationship,
|
||||||
get_columns,
|
get_columns,
|
||||||
|
get_declarative_base,
|
||||||
|
get_primary_keys,
|
||||||
identity,
|
identity,
|
||||||
instrumented_list,
|
instrumented_list,
|
||||||
merge,
|
merge,
|
||||||
mock_engine,
|
mock_engine,
|
||||||
naturally_equivalent,
|
naturally_equivalent,
|
||||||
primary_keys,
|
|
||||||
proxy_dict,
|
proxy_dict,
|
||||||
render_expression,
|
render_expression,
|
||||||
render_statement,
|
render_statement,
|
||||||
|
|||||||
@@ -12,14 +12,14 @@ from .database import (
|
|||||||
non_indexed_foreign_keys,
|
non_indexed_foreign_keys,
|
||||||
)
|
)
|
||||||
from .orm import (
|
from .orm import (
|
||||||
declarative_base,
|
|
||||||
get_columns,
|
get_columns,
|
||||||
|
get_declarative_base,
|
||||||
|
get_primary_keys,
|
||||||
getdotattr,
|
getdotattr,
|
||||||
has_changes,
|
has_changes,
|
||||||
identity,
|
identity,
|
||||||
naturally_equivalent,
|
naturally_equivalent,
|
||||||
query_entities,
|
query_entities,
|
||||||
primary_keys,
|
|
||||||
table_name,
|
table_name,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -27,11 +27,12 @@ __all__ = (
|
|||||||
'create_database',
|
'create_database',
|
||||||
'create_mock_engine',
|
'create_mock_engine',
|
||||||
'database_exists',
|
'database_exists',
|
||||||
'declarative_base',
|
|
||||||
'defer_except',
|
'defer_except',
|
||||||
'drop_database',
|
'drop_database',
|
||||||
'escape_like',
|
'escape_like',
|
||||||
'get_columns',
|
'get_columns',
|
||||||
|
'get_declarative_base',
|
||||||
|
'get_primary_keys',
|
||||||
'getdotattr',
|
'getdotattr',
|
||||||
'has_changes',
|
'has_changes',
|
||||||
'identity',
|
'identity',
|
||||||
@@ -40,7 +41,6 @@ __all__ = (
|
|||||||
'mock_engine',
|
'mock_engine',
|
||||||
'naturally_equivalent',
|
'naturally_equivalent',
|
||||||
'non_indexed_foreign_keys',
|
'non_indexed_foreign_keys',
|
||||||
'primary_keys',
|
|
||||||
'QuerySorterException',
|
'QuerySorterException',
|
||||||
'render_expression',
|
'render_expression',
|
||||||
'render_statement',
|
'render_statement',
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from sqlalchemy.orm.query import _ColumnEntity
|
|||||||
from sqlalchemy.orm.util import AliasedInsp
|
from sqlalchemy.orm.util import AliasedInsp
|
||||||
|
|
||||||
|
|
||||||
def primary_keys(mixed):
|
def get_primary_keys(mixed):
|
||||||
"""
|
"""
|
||||||
Return an OrderedDict of all primary keys for given Table object,
|
Return an OrderedDict of all primary keys for given Table object,
|
||||||
declarative class or declarative class instance.
|
declarative class or declarative class instance.
|
||||||
@@ -24,23 +24,25 @@ def primary_keys(mixed):
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
primary_keys(User)
|
get_primary_keys(User)
|
||||||
|
|
||||||
primary_keys(User())
|
get_primary_keys(User())
|
||||||
|
|
||||||
primary_keys(User.__table__)
|
get_primary_keys(User.__table__)
|
||||||
|
|
||||||
primary_keys(User.__mapper__)
|
get_primary_keys(User.__mapper__)
|
||||||
|
|
||||||
primary_keys(sa.orm.aliased(User))
|
get_primary_keys(sa.orm.aliased(User))
|
||||||
|
|
||||||
primary_keys(sa.orm.alised(User.__table__))
|
get_primary_keys(sa.orm.alised(User.__table__))
|
||||||
|
|
||||||
|
|
||||||
.. versionchanged: 0.25.3
|
.. versionchanged: 0.25.3
|
||||||
Made the function return an ordered dictionary instead of generator.
|
Made the function return an ordered dictionary instead of generator.
|
||||||
This change was made to support primary key aliases.
|
This change was made to support primary key aliases.
|
||||||
|
|
||||||
|
Renamed this function to 'get_primary_keys', formerly 'primary_keys'
|
||||||
|
|
||||||
.. seealso:: :func:`get_columns`
|
.. seealso:: :func:`get_columns`
|
||||||
"""
|
"""
|
||||||
columns = OrderedDict()
|
columns = OrderedDict()
|
||||||
@@ -272,7 +274,7 @@ def get_expr_attr(expr, attr_name):
|
|||||||
return getattr(expr, attr_name)
|
return getattr(expr, attr_name)
|
||||||
|
|
||||||
|
|
||||||
def declarative_base(model):
|
def get_declarative_base(model):
|
||||||
"""
|
"""
|
||||||
Returns the declarative base for given model class.
|
Returns the declarative base for given model class.
|
||||||
|
|
||||||
@@ -281,7 +283,7 @@ def declarative_base(model):
|
|||||||
for parent in model.__bases__:
|
for parent in model.__bases__:
|
||||||
try:
|
try:
|
||||||
parent.metadata
|
parent.metadata
|
||||||
return declarative_base(parent)
|
return get_declarative_base(parent)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
return model
|
return model
|
||||||
@@ -398,7 +400,7 @@ def identity(obj_or_class):
|
|||||||
"""
|
"""
|
||||||
return tuple(
|
return tuple(
|
||||||
getattr(obj_or_class, column_key)
|
getattr(obj_or_class, column_key)
|
||||||
for column_key in primary_keys(obj_or_class).keys()
|
for column_key in get_primary_keys(obj_or_class).keys()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ try:
|
|||||||
except ImportError:
|
except ImportError:
|
||||||
from ordereddict import OrderedDict
|
from ordereddict import OrderedDict
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
from sqlalchemy_utils import primary_keys
|
from sqlalchemy_utils import get_primary_keys
|
||||||
from tests import TestCase
|
from tests import TestCase
|
||||||
|
|
||||||
|
|
||||||
class TestPrimaryKeys(TestCase):
|
class TestGetPrimaryKeys(TestCase):
|
||||||
def create_models(self):
|
def create_models(self):
|
||||||
class Building(self.Base):
|
class Building(self.Base):
|
||||||
__tablename__ = 'building'
|
__tablename__ = 'building'
|
||||||
@@ -17,27 +17,28 @@ class TestPrimaryKeys(TestCase):
|
|||||||
self.Building = Building
|
self.Building = Building
|
||||||
|
|
||||||
def test_table(self):
|
def test_table(self):
|
||||||
assert primary_keys(self.Building.__table__) == OrderedDict({
|
assert get_primary_keys(self.Building.__table__) == OrderedDict({
|
||||||
'_id': self.Building.__table__.c._id
|
'_id': self.Building.__table__.c._id
|
||||||
})
|
})
|
||||||
|
|
||||||
def test_declarative_class(self):
|
def test_declarative_class(self):
|
||||||
assert primary_keys(self.Building) == OrderedDict({
|
assert get_primary_keys(self.Building) == OrderedDict({
|
||||||
'id': self.Building.__table__.c._id
|
'id': self.Building.__table__.c._id
|
||||||
})
|
})
|
||||||
|
|
||||||
def test_declarative_object(self):
|
def test_declarative_object(self):
|
||||||
assert primary_keys(self.Building()) == OrderedDict({
|
assert get_primary_keys(self.Building()) == OrderedDict({
|
||||||
'id': self.Building.__table__.c._id
|
'id': self.Building.__table__.c._id
|
||||||
})
|
})
|
||||||
|
|
||||||
def test_class_alias(self):
|
def test_class_alias(self):
|
||||||
assert primary_keys(sa.orm.aliased(self.Building())) == OrderedDict({
|
alias = sa.orm.aliased(self.Building)
|
||||||
|
assert get_primary_keys(alias) == OrderedDict({
|
||||||
'id': self.Building.__table__.c._id
|
'id': self.Building.__table__.c._id
|
||||||
})
|
})
|
||||||
|
|
||||||
def test_table_alias(self):
|
def test_table_alias(self):
|
||||||
alias = sa.orm.aliased(self.Building.__table__)
|
alias = sa.orm.aliased(self.Building.__table__)
|
||||||
assert primary_keys(alias) == OrderedDict({
|
assert get_primary_keys(alias) == OrderedDict({
|
||||||
'_id': alias.c._id
|
'_id': alias.c._id
|
||||||
})
|
})
|
||||||
Reference in New Issue
Block a user