Thanks for the answer.
Yes this comes in trace
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/
site-packages/sqlalchemy/orm/query.py", line 2031, in __iter__
self.session._autoflush()
What is the workaround this?
On Dec 17, 10:32 pm, Michael Bayer <[email protected]> wrote:
> On Dec 17, 2011, at 6:26 AM,ManavGoelwrote:
>
>
>
>
>
>
>
>
>
> > Hi
> > I created a many to many relation between two tables as shown
> > in the tutorial using Association object as I have extra fields in
> > connecting table.
> > I have table User(user_id), Book(book_id) and UserBook(user_id,
> > book_id)
>
> > This code gave me Integrity error of UserBook.user_id of being null.
> > Basically it is not user id of user automatically to UserBook object :
>
> > def con(user, mybook):
> > ub = UserBook()
> > ub.book = mybook
> > user.reads.append(ub)
> > session.commit()
>
> > But this code worked :
> > def con(user, mybook):
> > ub = UserBook()
> > ub.book = mybook
> > ub.user = user
> > user.reads.append(ub)
> > session.commit()
>
> > Why the first one is not working?
>
> It's not certain without a full example + stack trace, however often this
> occurs because of autoflush (perhaps when user.reads hits the DB to load
> itself first). The stack trace would illustrate if the integrity error is
> due to a premature autoflush (you'd see _autoflush() in the trace), and there
> are ways to get around that issue.
--
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.