ImportError

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Hallo,

ich versuche mich gerade an meiner ersten Werkzeug Applikation (mit Jinja2 und SQLAlchemy).
Das Projekt: http://www.icoost.com/projekt.zip
Leider lässt sich meine Session aus utils.py nicht importieren, aber nur in der models.py . In views.py und den anderen funktioniert es wunderbar. Was mache ich falsch?

Code: Alles auswählen

ImportError: cannot import name Session
Danke!
MfG
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Du darfst nicht in utils.py aus models importieren und dann in models.py aus utils importieren...
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Danke!

Wie würdest du das dann lösen? Da ich ja meine DB-Models deklarativ erstelle mit "declarative_base()" und somit ein:

Code: Alles auswählen

Base.query = Session.query_property()
machen muss, damit die queries funktionieren. Gleichzeitig brauch ich in meiner utils.py ein:

Code: Alles auswählen

metadata = Base.metadata
Oder soll ich das lieber mit einem Table lösen, das ich dann mappe?

Danke!
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Packs zusammen in ein Modul. Dinge die nur zusammen funktionieren, sollte man nicht künstlich trennen.
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

ja, das war wohl etwas dumm. Danke!

Nun stehe ich vor einem weiteren Problem. Meine Daten werden nicht in der Datenbank gespeichert. Ich nehme an, dass die Session irgendwie nicht richtig ist, sodass Session.commit() nicht funktioniert.

Vielen Dank!

EDIT: neues ZIP: http://www.icoost.com/projekt.zip
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Article Instanzen werden nicht magisch der Session hinzugefügt.
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

lol - omg
da war dann doch ein Session.save() zu wenig...

Danke!
Antworten