diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-11-24 01:44:08 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-11-24 01:44:08 +0000 |
| commit | e3502f7f9d9b68d718a517a3d17f5bdd2aaa86c7 (patch) | |
| tree | 7fab67cd362e2d82d111a036a78267a27691c976 /lib/sqlalchemy | |
| parent | 6c8af5108e1754e39e3837c7fec1c59fb1b19135 (diff) | |
| download | sqlalchemy-e3502f7f9d9b68d718a517a3d17f5bdd2aaa86c7.tar.gz | |
deprecated CompositeProperty 'comparator' which is now
named 'comparator_factory'.
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/orm/__init__.py | 10 | ||||
| -rw-r--r-- | lib/sqlalchemy/orm/properties.py | 6 |
2 files changed, 9 insertions, 7 deletions
diff --git a/lib/sqlalchemy/orm/__init__.py b/lib/sqlalchemy/orm/__init__.py index c9066fb6c..ad19d7969 100644 --- a/lib/sqlalchemy/orm/__init__.py +++ b/lib/sqlalchemy/orm/__init__.py @@ -211,7 +211,7 @@ def relation(argument, secondary=None, **kwargs): used in place of a plain list for storing elements. comparator_factory - a class which extends sqlalchemy.orm.properties.RelationProperty.Comparator + a class which extends ``sqlalchemy.orm.properties.RelationProperty.Comparator`` which provides custom SQL clause generation for comparison operations. extension @@ -404,7 +404,7 @@ def column_property(*args, **kwargs): list of Column objects to be mapped. comparator_factory - a class which extends sqlalchemy.orm.properties.RelationProperty.Comparator + a class which extends ``sqlalchemy.orm.properties.ColumnProperty.Comparator`` which provides custom SQL clause generation for comparison operations. group @@ -485,9 +485,9 @@ def composite(class_, *cols, **kwargs): load immediately, and is instead loaded when the attribute is first accessed on an instance. See also [sqlalchemy.orm#deferred()]. - comparator - An optional instance of [sqlalchemy.orm#PropComparator] which provides - SQL expression generation functions for this composite type. + comparator_factory + a class which extends ``sqlalchemy.orm.properties.CompositeProperty.Comparator`` + which provides custom SQL clause generation for comparison operations. extension an [sqlalchemy.orm.interfaces#AttributeExtension] instance, diff --git a/lib/sqlalchemy/orm/properties.py b/lib/sqlalchemy/orm/properties.py index 714b18047..6404b8349 100644 --- a/lib/sqlalchemy/orm/properties.py +++ b/lib/sqlalchemy/orm/properties.py @@ -41,7 +41,7 @@ class ColumnProperty(StrategizedProperty): self.columns = [expression._labeled(c) for c in columns] self.group = kwargs.pop('group', None) self.deferred = kwargs.pop('deferred', False) - self.comparator_factory = kwargs.pop('comparator_factory', ColumnProperty.ColumnComparator) + self.comparator_factory = kwargs.pop('comparator_factory', self.__class__.Comparator) self.extension = kwargs.pop('extension', None) util.set_creation_order(self) if self.deferred: @@ -108,10 +108,12 @@ class CompositeProperty(ColumnProperty): """subclasses ColumnProperty to provide composite type support.""" def __init__(self, class_, *columns, **kwargs): + if 'comparator' in kwargs: + util.warn_deprecated("The 'comparator' argument to CompositeProperty is deprecated. Use comparator_factory.") + kwargs['comparator_factory'] = kwargs['comparator'] super(CompositeProperty, self).__init__(*columns, **kwargs) self._col_position_map = dict((c, i) for i, c in enumerate(columns)) self.composite_class = class_ - self.comparator_factory = kwargs.pop('comparator', CompositeProperty.Comparator) self.strategy_class = strategies.CompositeColumnLoader def do_init(self): |
