Hi,
I'm trying to convert a 'simple' many-to-many relationship to an
association object in order to allow the relationship to have
attributes. I've followed the code in examples/association/
proxied_association.py fairly closely (or so I thought) but it isn't
working for me.
As an example, let's say I am trying to create a relationship between
an RSS feed and the pages from the feed but I want a feed_date on the
relationship. Currently, my code look something like this:
class Page (Base):
__tablename__ = 'pages'
id = Column(Integer, primary_key=True)
posts = relationship("Post", cascade="all, delete-orphan",
backref='pages')
feeds = association_proxy("feeds", "feed")
class Post(Base)
__tablename__ = 'pages_feeds'
page_id = Column(Integer, ForeignKey('pages.id'),
primary_key=True)
feed_id = Column(Integer, ForeignKey('feeds.id'),
primary_key=True)
feed = relationship(Feed, lazy='joined')
I haven't changed the Feed class at all.
When I do something along the lines of:
page = Page()
feed = Feed()
page.feeds.append(feed)
the query that is issued is as follows:
IntegrityError: (IntegrityError) pages_feeds.feed_id may not be NULL
u'INSERT INTO pages_feeds (page_id) VALUES (?)' (1,)
So, clearly I have missed out the part of the config that explains
that adds in the second foreign key. Could anybody point me to where
please?
Thanks,
Ben
--
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.