Hi, I am trying to build an attribute_mapped_collection reference from table people (Mapped class is called Person). However, I would like to get a list of entities for each key.
I have the following tables with the relevant PK and FK listed Person: - id PersonToAddress: - id - person_id - address_id role # this is the mapped special key Address: - id to establish a relationship i do the following (only the relationships are included in the listing) class PersonToAddress: person = relationship( __table_to_classnames__['people'], backref=backref('people_to_addresses', collection_class=attribute_mapped_collection("role"))) class Person: addresses_by_role = association_proxy('people_to_addresses','address',creator = lambda k,v:PeopleToAddress(role=k,address=v)) Now querying yields this result: p = Session.query(Person).get(id=1) print p.addresses_by_role {u'home': <Address object at 0x29568d0>, u'work': <Address object at 0x2a3eb90>} I would like to get a list as value for the dict, such that i can assign more than one entity to any one key. The output should look like this: {u'home': [<Address object at 0x29568d0>,<Address object at ...>] , u'work': [<Address object at 0x2a3eb90>]} Now in the database whenever i set a new value for a key(=role), the entry in PersonToAddress' table is replaced (not added). This is consistent with having a 1-key to 1-value mapping. Can I however change the behaviour in such a way that more than one Addresses are allowed for one Person using the same key(=role in this example)? I should note that i tried supplying the uselist=True parameter in the backref argument to PersonToAddress.person. This, however does nothing. Adding uselist=True to the parameters of the relationship (as opposed to the backref) does create a list in both the backref and addresses_by_role's values. The list, however only contains an element, and if a new one is added, the entry in the db is changed.Still only 1 element of the list is ever present in PersonToAddress' table. Am i overlooking something in the way attribute_mapped_collection should be used ? Paul -- paulbalom...@gmail.com -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/groups/opt_out.