Hi all, I'm running SQLAlchemy 0.7.0, against MySQL 5.1. I'm having issues with a field that I'd like shared between the classes in single table inheritance that I would like to have referred to differently in the subclasses:
class Post(Base): __tablename__ = 'posts' id = Column(Integer, primary_key = True) type = Column(String(40)) data = Column(String(255)) __mapper_args__ = {'polymorphic_on': type} class Link(Post): __mapper_args__ = {'polymorphic_identity': 'link'} url = Column('data', String(255)) When I run this, I get the following error: sqlalchemy.exc.ArgumentError: Column 'data' on class <class 'api.models.posts.Link'> conflicts with existing column 'posts.data' I searched for answers, and came across the following post: http://www.mail-archive.com/sqlalchemy@googlegroups.com/msg20077.html When I tried its solution, however, I get the error " TypeError: getattr(): attribute name must be string" when the code actually gets called. The offending line of code is "return getattr(obj, self.name)" from "Module sqlalchemy.orm.descriptor_props:53 in fget". In this case, self.name is an sqlalchemy.orm.attributes.InstrumentedAttribute object. If I cast it to a string, getattr returns the data that I wanted. Is there a better way to do what I'm trying to do, or is this a bug in the code? Thanks, Dan -- 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.