Looks like you need to specify a composite ForeignKey
http://www.sqlalchemy.org/docs/core/schema.html?highlight=foreign_keys#sqlalchemy.schema.ForeignKeyConstraint
comment_table = Table('comment',metadata,
Column('id',Integer,primary_key=True),
Column('package_id', Integer),
Column('repo_id', Integer),
Column('msg',String),
ForeignKeyConstraint(['package_id', 'repo_id'],
['package_repo_table.package_id', 'package_repo_table.repo_id'])
)
On Apr 14, 3:41 pm, frankentux <[email protected]> wrote:
>
>
> package_table = Table('package',metadata,
> Column('id',Integer,primary_key=True),
> Column('name',String))
>
> repo_table = Table('repo',metadata,
> Column('id',Integer,primary_key=True),
> Column('name',String))
>
> comment_table = Table('comment',metadata,
> Column('id',Integer,primary_key=True),
> ### PROBLEM - HOW TO CREATE RELATIONSHIP TO package_repo ###
> # Column('packagerepo_id', Integer, ForeignKey(### how to declare
> this ###)),
> Column('msg',String))
>
> package_repo_table = Table('package_repo', metadata,
>
> Column('package_id',Integer,ForeignKey('package.id'),primary_key=True),
> Column('repo_id',Integer,ForeignKey('repo.id'), primary_key=True),
> Column('status',String,default='builds'))
>
> mapper(Package, package_table, properties={
> 'repos':relationship(PackRepo)
>
> })
>
> mapper(PackRepo, pack_repo_table, properties={
> 'repo':relationship(Repo),
> 'comments': relationship(Comment)
>
> })
>
> mapper(Comment,comment_table)
>
> mapper(Repo, repo_table)
--
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.