Key error, SQLAlchemy Many to Many

Django, Flask, Bottle, WSGI, CGI…
ahupfer
User
Beiträge: 23
Registriert: Mittwoch 15. August 2018, 07:24

Sorry für mein Unvermögen ...

https://ibb.co/jRLD553
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ich verstehe nicht, was das Protokoll soll. Das ist (wenn mein UML mich nicht truegt) in einer unnoetigen n:1-Beziehung zu einem Meeting. Ich habe noch kein Meeting erlebt, bei dem es gleich mehrerer Protokolle gab.

Was die Logik im Modell angeht: ich habe das frueher so gemacht, und bin davon dann wieder abgekommen. Auch wenn ein ORM dazu einlaedt, am Ende ist das Modell doch nur eine relativ duenne Schicht ueber der Datenbank. Und zu viel Logik in den Klassen hat dazu gefuehrt, dass man irgendwann nicht mehr gut durchgesehen hat. Dafuer benutze ich also lieber Logiklayer, die auch gerne nur aus Funktionen bestehen koennen, welche die beteiligten Objekte als Argumente bekommen. Das ist aber auch Geschmackssache.
ahupfer
User
Beiträge: 23
Registriert: Mittwoch 15. August 2018, 07:24

Ja du hast recht! Das Protokoll braucht es gar nicht. Danke! Wie gehts du mit Vererbung um? Oder wie würdest du die Tagesordnungspunkte abbilden? Man könnte es in ein Modell packen und der Unterschied von einem Tagesordnungspunkt und einer Aktivität ist eben, dass die Aktivität einen Verantwortlichen bzw. einen Termin hat.

Grüsse
Andreas
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Vererbung um Datenfelder zu teilen ist eine schlechte Idee. Denn das sollte schon die Frage beantworten, ob etwas "ist ein" erfuellt. Also, BMW ist ein Auto. Ein Tagesordungspunkt ist ein Beschluss stimmt aber nicht. Ein Beschluss ist eine Aktivitaet ist schwieriger, weil ein Beschluss *ohne* Verantwortlichen im Zweifel auch gleich nicht gefasst werden muesste. Darum wuerde ich einfach Beschluss oder Aktivitaet nutzen, und im Zweifel den Verantwortlichen leer lassen koennen. Gleiches gilt fuer den Termin.
ahupfer
User
Beiträge: 23
Registriert: Mittwoch 15. August 2018, 07:24

Danke für die Antworten! Dann werde ich mal weiter machen.
Grüsse
Andreas
Antworten