hi
i am using sqlalchemy with turbogears and postgresql,
for some reasons in db at my tables i am using capital column names,
so in my column definitions i am using key parameter. like,
users_table = Table('TG_USER', metadata,
Column('USER_ID', Integer, primary_key=True, key='user_id'),
Column('USER_NAME', Unicode(16), unique=True, key='user_name'),
Column('EMAIL_ADDRESS', Unicode(255), unique=True,
key='email_address'),
..................
groups_table = Table('TG_GROUP', metadata,
Column('GROUP_ID', Integer, primary_key=True, key='group_id'),
Column('GROUP_NAME', Unicode(16), unique=True, key='group_name'),
.................
user_group_table = Table('USER_GROUP', metadata,
Column('USER_ID', Integer, ForeignKey
('BEYAZ_MASA.TG_USER.USER_ID',
onupdate='CASCADE', ondelete='CASCADE'), primary_key=True,
key='user_id'),
Column('GROUP_ID', Integer, ForeignKey
('BEYAZ_MASA.TG_GROUP.GROUP_ID',
onupdate='CASCADE', ondelete='CASCADE'), primary_key=True,
key='group_id'),
schema='BEYAZ_MASA'
)
everything seems fine, but when i run turbogears aplication i got
error in schema.py file at ForeignKey class, column funtion at line
859,
when i check whats going on i see that
_column = table.c[colname] - table.c is a dictionary and keys are the
keys which i use in my column definition but the line checking the
keys via colname so i make some changes on function like,
try:
if colname is None:
# colname is None in the case that ForeignKey
argument
# was specified as table name only, in which case
we
# match the column name to the same column on the
# parent.
key = self.parent
_column = table.c[self.parent.key]
else:
if self.parent.key: #new line
_column = table.c[self.parent.key] #new line
else: #new line
_column = table.c[colname] #new line
except KeyError, e:
raise exc.NoReferencedColumnError(
"Could not create ForeignKey '%s' on table '%s': "
"table '%s' has no column named '%s'" % (
self._colspec, parenttable.name, table.name, str
(e)))
now everything working fine
thanks..
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---