Hallo,
hier die views.py und der Traceback. Wenn ich das Formular mit Werten abschicke (Zeile 32) und einen bestimmten Datensatz herausfiltern möchte (Zeile 34), dann beschwert sich nicht SQLALchemy, sondern Werkzeug. DasIch hat mir im IRC query_property empfohlen, was ich dann auch versucht habe, anzuwenden. Deswegen hier auch die models.py.
Wende ich query_property falsch an oder liegt der Fehler woanders begraben?
SQLALchemy: Werkzeug wirft RuntimeError
Das Problem scheint in my_cms.utils zu liegen. Scheint damit zusammenzuhängen wie du auf dass application objekt zugreifst. Statt das direkt zu machen greife mal darauf als Attribut von local zu also:
Siehe dazu auch den Code in werkzeug.local
Code: Alles auswählen
session = scoped_session(lambda: create_session(
local.application.database_engine,
# was auch immer du hier sonst noch so hast
),
local_manager.get_ident)
So sieht momentan meine utils.py aus: http://paste.pocoo.org/show/96168/ . Wenn ich aus mache, dann wirft gibts nen AttributeError, weil local nicht die Eigenschaft application besitzt. Und falls jemand auch noch die application.py sehen will, hier ist sie: http://paste.pocoo.org/show/96173/
Code: Alles auswählen
session = scoped_session(lambda: create_session(application.database_engine,
autocommit=False),
local_manager.get_ident)
Code: Alles auswählen
session = scoped_session(lambda: create_session(local.application.database_engine,
autocommit=False),
local_manager.get_ident)
CMS.dispatch könnte ein "local.application = self" vertragen, wie z.B. in diesem Beispiel. Steht auch im Werkzeug Tutorial
Part 1: The WSGI Application hat geschrieben:And then comes the request dispatching function.[...]Once again we bind the application to the local object, this time, however, we have to do this, otherwise things will break soon.