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
-~----------~----~----~----~------~----~------~--~---

Reply via email to