Hi everybody, here's a small script using mapper inheritance that fails on my machine (SQLAlchemy 0.1.7, Python 2.4.2). The following line at the end of the script below causes an error:
firstTry = Post.mapper.get(1) Whereas the next line works fine secondTry = Post.mapper.get_by(id=1) Is it a bug or a mistake on my part? Here's the sample script in case anybody wants to test the whole thing: ---------------------------------------------------- from sqlalchemy import * engine = create_engine('mysql', { 'db':'sqlalchemy', 'user':'myself', 'passwd':'mypassword', 'host':'127.0.0.1' }, ) text_items = Table('text_items', engine, Column('id', Integer, primary_key=True), Column('text', String) ) posts = Table('posts', engine, Column('id', Integer, ForeignKey("text_items.id"), primary_key=True), Column('headline', String) ) text_items.create() posts.create() class TextItem(object): pass class Post(TextItem): pass TextItem.mapper = mapper(TextItem, text_items) Post.mapper = mapper(Post, posts, inherits=TextItem.mapper, ) post = Post() post.text = "it pretty much always means no" post.headline = "maybe" objectstore.commit() firstTry = Post.mapper.get(1) secondTry = Post.mapper.get_by(id=1) ------------------------------------------- Here's the traceback from the "first try": Traceback (most recent call last): File "<stdin>", line 1, in ? File "build\bdist.win32\egg\sqlalchemy\mapping\mapper.py", line 251, in get File "build\bdist.win32\egg\sqlalchemy\mapping\query.py", line 43, in get File "build\bdist.win32\egg\sqlalchemy\mapping\query.py", line 201, in _get IndexError: tuple index out of range The "second try" works fine. Thanks and cheers, Martin Schnell und einfach ohne Anschlusswechsel zur Lycos DSL Flatrate wechseln und 3 Monate kostenlos ab effektiven 5,21 EUR pro Monat im ersten Jahr surfen. http://www.lycos.de/startseite/online/dsl/index.html?prod=DSL&trackingID=email_footertxt