thanks, this is fixed in d6e8d5eddbca7154d008f7ef49efd. python2 doesn’t seem to call __setitem__ when you pass an empty slice.
On Mar 3, 2014, at 2:25 PM, Rich <[email protected]> wrote: > The following demonstrates a python3 sqlalchemy bug where an association > proxy does not allow assignment in place without specifying the start index. > It gives a "TypeError: list indices must be integers, not NoneType" error. > It fails on sqlalchemy 0.9.3, but python2 seems to have no problem. > > > from sqlalchemy import * > from sqlalchemy.orm import * > from sqlalchemy.ext.declarative import * > from sqlalchemy.ext.associationproxy import association_proxy > > > Base = declarative_base() > > > def build(value): > return Table1(name=value) > > > class Table1(Base): > __tablename__ = 'table1' > > id = Column(Integer, primary_key=True) > name = Column(String(100)) > fk = Column(Integer, ForeignKey('table2.id')) > > > class Table2(Base): > __tablename__ = 'table2' > > id = Column(Integer, primary_key=True) > > t1s = relationship('Table1') > t1s_proxy = association_proxy('t1s', 'name', creator=build) > > > t2 = Table2() > t2.t1s.append(Table1(name='test')) > > # fails > t2.t1s_proxy[:] = ['test'] > > # works > t2.t1s_proxy[0:] = ['test'] > > > -- > 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 [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sqlalchemy. > For more options, visit https://groups.google.com/groups/opt_out.
signature.asc
Description: Message signed with OpenPGP using GPGMail
