its a bug, there's an isinstance(str) that should be isinstance(basestring). please file a trac ticket.
On Mar 2, 2009, at 6:26 PM, Karlo Lozovina wrote: > > Hi guys! Here goes the code sample: > > > from sqlalchemy import create_engine, MetaData > from sqlalchemy import Table, Column, ForeignKey, Integer > from sqlalchemy.orm import sessionmaker, mapper, relation > > metadata = MetaData() > engine = create_engine('sqlite:///:memory:', echo=True) > > parent_table = Table('parent', metadata, > Column('id', Integer, primary_key=True)) > child_table = Table('child', metadata, > Column('id', Integer, primary_key=True), > Column('parent_id', Integer, ForeignKey('parent.id'))) > > class Parent(object): pass > class Child(object): pass > > mapper(Parent, parent_table, properties={'children': relation(Child, > backref=u'parent')}) > mapper(Child, child_table) > metadata.create_all(engine) > session = sessionmaker(bind=engine)() > parentobj = Parent() > > > Running this code fails with this error: > > .../SQLAlchemy-0.5.2-py2.6.egg/sqlalchemy/orm/properties.pyc in > _post_init(self) > 993 > 994 if self.backref is not None: > --> 995 self.backref.compile(self) > 996 elif not mapper.class_mapper(self.parent.class_, > compile=False)._get_property(self.key, raiseerr=False): > 997 raise sa_exc.ArgumentError("Attempting to assign a > new relation '%s' to " > AttributeError: 'unicode' object has no attribute 'compile' > > This line is the problem: > mapper(Parent, parent_table, properties={'children': relation > (Child, backref=u'parent')}) > or, to be precise, `backref=u'parent'`. With just `backref='parent'`, > everything works just fine, it breaks down when using a unicode > literal for backref name. Is this a bug, or somehow expected behavior? > > Thanks everyone... > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---