On Wed, 13 Jun 2007 14:40:11 +0200, Magnus Hult <[EMAIL PROTECTED]> wrote:
Hi,

When executing the following program, changes in the database (other
than those made by this program) aren't visible until it is restarted,
due to some form of SQLAlchemy caching:

from twisted.web import server, resource
import model # my database model

class MyRoot(resource.Resource):
 def render(self, request):
   m = model.MyModel.get(request.args['id'][0])
   return m.some_column

Here, you're arranging to render whatever the expression `m.some_column'
evaluates to.  However that is implemented and whatever value it results
in, that's what will be rendered on the page.

[snip - db and service setup]

So if I visit http://localhost:8080/?id=1, then alter the some_column
value for the row who's id is 1 and reload, the change is not
reflected.

Problem is, I need the update to be visible. How would I go about
implementing this?


It would seem that `m.some_column' evaluates to the same value each time
the page is rendered.  Could it be that SQLAlchemy is performing some
undesirable caching which is preventing the new value from showing up?  I
am not particularly familiar with SQLAlchemy, so I'm not sure why this
might be.  It does seem like you want to be looking into SQLAlchemy behavior
to figure this out, though.

Hope this helps,

Jean-Paul

_______________________________________________
Twisted-web mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web

Reply via email to