Seite 1 von 1
					
				SQLALchemy: Werkzeug wirft RuntimeError
				Verfasst: Samstag 20. Dezember 2008, 18:20
				von derdon
				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?
 
			 
			
					
				
				Verfasst: Samstag 20. Dezember 2008, 18:34
				von DasIch
				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:
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)
Siehe dazu auch den Code in 
werkzeug.local 
			 
			
					
				
				Verfasst: Samstag 20. Dezember 2008, 19:39
				von derdon
				So sieht momentan meine utils.py aus: 
http://paste.pocoo.org/show/96168/ . Wenn ich aus 
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)
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/ 
			 
			
					
				
				Verfasst: Samstag 20. Dezember 2008, 20:04
				von DasIch
				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.
 
 
			 
			
					
				
				Verfasst: Sonntag 21. Dezember 2008, 19:27
				von derdon
				Danke, es funktioniert!