that is a major bug and is ticket #2406, in progress now. Here is a temporary fix. Do this before you use MappedCollection:
from sqlalchemy.orm.collections import _instrument_class, MappedCollection _instrument_class(MappedCollection) On Feb 13, 2012, at 2:52 PM, Béru wrote: > Hi, > > I was trying to follow the example I saw in the documentation for > subclassing MappedCollection (http://docs.sqlalchemy.org/en/latest/orm/ > collections.html#custom-dictionary-based-collections) > > However, something is wrong, because I get this error: > super(TranslationCollection, self).__setitem__(key, value, > _sa_initiator) > TypeError: expected 2 arguments, got 3 > > I simplified to: > from sqlalchemy.orm.collections import MappedCollection, collection > > class TranslationCollection(MappedCollection): > @collection.internally_instrumented > def __setitem__(self, key, value, _sa_initiator=None): > super(TranslationCollection, self).__setitem__(key, value, > _sa_initiator) > > and still get the error. > > Here's how the collection_class is configured on the relationship: > collection_class=lambda: > TranslationCollection(operator.attrgetter("language_id") > > Thanks ! > Béru > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To post to this group, send email to sqlalchemy@googlegroups.com. > To unsubscribe from this group, send email to > sqlalchemy+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/sqlalchemy?hl=en. > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.