Hi all,
I'm fairly new to SA, and apologize if this has been answered
elsewhere... I've dug through old mailing lists, but can't find
anything, and haven't seen this referenced in the docs.
I have a set of table definitions that are using the following
construct for a foreign key:
Column("other_table_id", Integer, ForeignKey("other_table.id"), key="otherId")
I can't see any particular reason for this not to work, but it
doesn't. It throws a KeyError on the column name when it hits the
column that contains the ForeignKey statement. I know it worked in
the past, but I inherited the code, and I'm not sure at what SA
version it did work (I can install a few older eggs to find out, if
that will help). What's strange though is that if I remove the
keyword arg "key", it runs just fine. I've built a small test case
for it, and included it below.
Thanks for any help!
Pete
############################################################
from sqlalchemy import *
engine = create_engine('sqlite:///:memory:')
metadata = BoundMetaData(engine)
def main():
test_table_one = Table('test_table_one', metadata,
Column('legacy_test_id', Integer, primary_key=True, key="id"),
Column('test_column_one', String(50)),
)
try:
test_table_two = Table('test_table_two', metadata,
Column('id', Integer, primary_key=True),
Column('t_one_id', Integer,
ForeignKey('test_table_one.id'), key="tid"),
Column('test_column_two', String(50)),
)
except Exception, e:
print "Test Table Two build with explicit key name on FK failed"
print "Exception was on %s " % e
try:
test_table_two = Table('test_table_two', metadata,
Column('id', Integer, primary_key=True),
Column('t_one_id', Integer, ForeignKey('test_table_one.id')),
Column('test_column_two', String(50)),
redefine=True
)
except Exception, e:
print "Test Table Two build without explicit key name on FK failed"
print "Exception was on %s " % e
else:
print "Test Table Two build without explicit key name on FK succedded"
if __name__=="__main__":
main()
#################################################################
--
"All guilt is relative, loyalty counts, and never let your conscience
be your guide."
- Lucas Buck, American Gothic
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Sqlalchemy-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users