Seite 1 von 1

[SQLAlchemy] event-system?

Verfasst: Mittwoch 18. Februar 2015, 06:36
von MoonKid
Hat SQLAlchemy so etwas wie ein Event-System?

z.B. möchte ich "erfahren" (im Sinne eines Observers), wenn eine neue Instanz einer tabellen-repräsentierenden Klasse erzeugt wird, um wiederum eine Listendarstellung aller Instanzen dieser Klasse aktualisieren zu können.

Ich muss also wissen, wann die Liste "erweitert" wird. In diesem Sinne ist die Objekt-Liste selbst das Model. Aber es gibt kein intelligentes Listen-Objekt, was solche Nachrichten weiterleiten würde.

Re: [SQLAlchemy] event-system?

Verfasst: Mittwoch 18. Februar 2015, 07:38
von Sirius3
@MoonKid: viel einfacher und durchschaubarer ist es doch, wenn Du, immer wenn Du eine neue Instanz erzeugst, diese Deiner Liste meldest.

Re: [SQLAlchemy] event-system?

Verfasst: Mittwoch 18. Februar 2015, 23:23
von MoonKid
Sirius3 hat geschrieben:immer wenn Du eine neue Instanz erzeugst, diese Deiner Liste meldest.
Exakt. Die Frage ist aber, wie das technisch implementiert werden könnte. (Beispiel: Observer Pattern)
Evtl. hat ja sqla schon so eine Art Benachrichtigungssystem/-schnittstelle - fände ich jedenfalls logisch und sinnvoll.

Re: [SQLAlchemy] event-system?

Verfasst: Donnerstag 19. Februar 2015, 00:41
von BlackJack
@MoonKid: Vielleicht heisst das in SQLAlchemy Events und das ist vielleicht dokumentiert. Wobei ich da jetzt auf die schnelle nichts für Tabellen/Exemplare beim ”Core” gefunden habe sondern nur beim ORM-Teil der Bibliothek.

Letztlich würde ich aber sagen das ist der falsche Ansatzpunkt das man etwas für *alle* Exemplare machen möchte, denn das funktioniert ja nur solange man das tatsächlich für *alle* machen möchte. Das schliesst dann aus das irgendwo Exemplare erzeugt werden die nur als Zwischenergebnisse existieren und gar nicht in der Liste an die Du das melden möchtest erscheinen sollen. Und Unit-Tests könnten damit auch zumindest umständlicher werden.