I've got a simple mapping between User and Blog:

# Parent
user_table = Table('user', metadata,
    Column('id', Integer, primary_key=True),
    Column('username', String(50)),
    Column('password', Unicode(50)),
)
# Child
blog_table = Table('blog', metadata,
    Column('id', Integer, primary_key=True),
    Column('title', String(100)),
    Column('date_created', DateTime()),
    Column('user_id', Integer, ForeignKey('user.id'))
)

...

mapper(User, user_table, properties = {
    'blogs': relation(Blog, backref='user')
})
mapper(Blog, blog_table)

My foreignkeys aren't being saved/stored properly.  No matter how many
'children' I create, the foreignkey only stays saved with the most
recently added:

sqlite> select * from blog;
1|blog1|2009-06-05 19:41:33.555387|
2|blog2|2009-06-05 19:41:42.551838|
3|blog3|2009-06-05 19:42:28.280046|
4|blog4|2009-06-05 19:44:19.180090|
5|blog5|2009-06-05 19:46:38.580777|1
sqlite>


Here's how they are being saved.
My controller saveblog():

@expose()
def saveblog(self, **input):
    if request.method == 'POST':
        if not input['blog_title']:
            msg = 'You must give a title name.'
            redirect('/createblog', message=msg)
        try:
            session_user = cherrypy.session['username']
            user = session.query(User).filter_by
(username=session_user).one()
            user.blogs = [Blog(title=input['blog_title'],
date_created=datetime.datetime.now())]
            msg = 'Successfully created blog %s.' % input
['blog_title']
            redirect('/', message=msg)
        except KeyError:
            redirect('/', message='Session lost or timed out')
        except NoResultFound:
            redirect('/', message='Error: database corrupt.')

Why is it doing this? Please help, thanks.

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