summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2018-09-27 15:44:45 -0400
committerGerrit Code Review <gerrit@ci.zzzcomputing.com>2018-09-27 15:44:45 -0400
commit5f2a934e3d359ec46a0c9554c9a89210a44807b7 (patch)
tree3df4eec156f060718d91c0ed0e38be48de31ee31 /lib/sqlalchemy
parentd945ee87a1934cb689066e4683ba9531d803f9ad (diff)
parentfe8ddb71d98f9f8b5e8e5bcf54b4208a1dfad2fd (diff)
downloadsqlalchemy-5f2a934e3d359ec46a0c9554c9a89210a44807b7.tar.gz
Merge "Remove MappedCollection converter; deprecate @converter"
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/orm/collections.py25
1 files changed, 1 insertions, 24 deletions
diff --git a/lib/sqlalchemy/orm/collections.py b/lib/sqlalchemy/orm/collections.py
index 5faff83a9..d6c23f5d2 100644
--- a/lib/sqlalchemy/orm/collections.py
+++ b/lib/sqlalchemy/orm/collections.py
@@ -442,6 +442,7 @@ class collection(object):
"""deprecated; synonym for :meth:`.collection.linker`."""
@staticmethod
+ @util.deprecated("1.3", "Use the bulk_replace event handler")
def converter(fn):
"""Tag the method as the collection converter.
@@ -1517,30 +1518,6 @@ class MappedCollection(dict):
(value, self[key], key))
self.__delitem__(key, _sa_initiator)
- @collection.converter
- def _convert(self, dictlike):
- """Validate and convert a dict-like object into values for set()ing.
-
- This is called behind the scenes when a MappedCollection is replaced
- entirely by another collection, as in::
-
- myobj.mappedcollection = {'a':obj1, 'b': obj2} # ...
-
- Raises a TypeError if the key in any (key, value) pair in the dictlike
- object does not match the key that this collection's keyfunc would
- have assigned for that value.
-
- """
- for incoming_key, value in util.dictlike_iteritems(dictlike):
- new_key = self.keyfunc(value)
- if incoming_key != new_key:
- raise TypeError(
- "Found incompatible key %r for value %r; this "
- "collection's "
- "keying function requires a key of %r for this value." % (
- incoming_key, value, new_key))
- yield value
-
# ensure instrumentation is associated with
# these built-in classes; if a user-defined class
# subclasses these and uses @internally_instrumented,