You add the relation to the propoties on mapper. Look at http://www.sqlalchemy.org/docs/05/mappers.html#basic-relational-patterns
On Feb 24, 4:10 pm, Marcin Krol <mrk...@gmail.com> wrote: > Hello everyone, > > I've been following > tutorialhttp://www.sqlalchemy.org/docs/05/ormtutorial.htmlwhich explains how > to > use 'relation' function using declarative extension. > > However, in my app I define classes and tables for classes separately, > and tutorial does not cover how to use relation in such context > (googling for it does not return much info either) . All it says is this: > > "When declarative is not in use, you typically define your mapper() well > after the target classes and Table objects have been defined, so string > expressions are not needed." > > Does that mean that I need to define relation in mapper(UserClass, > usertable) call somehow? > > I have: > > hosts_table = Table('hosts',md, > Column('id',Integer,primary_key=True), > Column('IP',String), > Column('HostName',String), > Column('Location',String), > Column('Architecture_id',Integer,ForeignKey('architecture.id')), > Column('OS_Kind_id',Integer,ForeignKey('os_kind.id')), > Column('OS_version_id',Integer,ForeignKey('os_version.id')), > Column('Additional_info__visible_for_all_users',String), > Column('End_Date',SLDate), > > ... > > mapper(Host, hosts_table) > > architecture_table = Table('architecture',md, > Column('id',Integer,primary_key=True), > Column('Architecture',String)) > mapper(Architecture, architecture_table) > > os_kind_table = Table('os_kind',md, > Column('id',Integer,primary_key=True), > Column('OS_Kind',String)) > mapper(OS_Kind, os_kind_table) > > os_version_table = Table('os_version',md, > Column('id',Integer,primary_key=True), > Column('OS_version',String)) > mapper(OS_version, os_version_table) > > email_table = Table('email',md, > Column('id',Integer,primary_key=True), > Column('Email',String)) > mapper(Email,email_table) > > Now, md.create_all() does create proper db structure (I know bc I > examined sqlite db after session.commit()). > > However, if I do not use the relation() somewhere, does that mean that > foreign keys may not work properly or there will be some other adverse > effects? > > How do I use relation() with above? > > I'd love to see such info added to the tutorial.. > > Regards, > mk --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---