Hi Neil I managed to make queries on those tables by creating a new table definition and getting a class mapping from that explicitly, for example:
>>> from sqlalchemy.ext.sqlsoup import SqlSoup >>> from sqlalchemy import * >>> engine = create_engine('sqlite:///:memory:') >>> metadata = MetaData(bind=engine) >>> retailer_table = Table('retailer', metadata, Column('retailer_id', >>> primary_key=True), autoload=True) >>> db = SqlSoup(metadata) >>> Retailer = db.map(retailer_table) >>> Retailer.first() MappedRetailer(retailer_id=33199, ...) So then the Retailer class returns MappedRetailer instances even though the underlying schema defines no primary key. That part seemed fine, but I then had to work with relations on those tables that I was mapping explicitly and I found it easier at that point just to skip SqlSoup and define the table metadata and mapping myself. I hope that helps. Stephen Emslie On Sun, Apr 26, 2009 at 11:48 PM, NeilK <neilku...@gmail.com> wrote: > Hi Stephen, did you find a way to access those tables without a > primary key using SqlSoup? > > Thanks, > -neil > > On Apr 25, 3:42 am, Stephen Emslie <stephenems...@gmail.com> wrote: >> I am using SqlSoup to do a little maintenance on a database whose >> schema I have no control over. Unfortunately some tables are without a >> primary key, and thus SqlSoup complains when accessing them: >> >> sqlalchemy.ext.sqlsoup.PKNotFoundError: table 'category' does not have >> a primary key defined >> >> When reflecting tables directly with sqlalchemy, using Table(name, >> meta, autoload=True), one can override the reflected columns to >> compensate for the lack of a primary key. Is this possible in SqlSoup? >> >> Stephen Emslie --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---