On Sep 29, 2013, at 8:41 AM, Roman Iten <[email protected]> wrote:
> Hi
>
> I started a pyramid project using the alchemy scaffold (includes
> ZopeTransactionExtension to scope sessions to requests, see [1]).
>
> Trying to insert many 'shots' into a MySQL database with a single SQL
> statement, I implemented the following view:
>
> DBSession = scoped_session(
> sessionmaker(extension=ZopeTransactionExtension()))
>
> @view_config(route_name='upload')
> def upload_view(request):
> shotlist = []
> shotlist.append(Shot(score=92))
> shotlist.append(Shot(score=82))
> shotlist.append(Shot(score=99))
> shotlist.append(Shot(score=78))
>
> # The transaction is only committed if this line is enabled:
> # DBSession.add(Shot(score=42))
>
> DBSession.execute(Shot.__table__.insert(),
> [shot.__dict__ for shot in shotlist])
>
> return Response('OK')
>
> But the transaction is not committed. I discovered that the transaction is
> committed only if I call add() on DBSession (all five shots are inserted
> then)...
I always thought the zope extension called session.commit() unconditionally,
perhaps there's some setting for that. if none of the pyramid gurus speaks up
here try emailing the pyramid list.
signature.asc
Description: Message signed with OpenPGP using GPGMail
