Relationen in SQLALchemy + hinzufügen eines Datensatz
Verfasst: Freitag 21. März 2014, 15:31
Hallöle,
hab leider ein Problem ich wollte SQLALchemy nutzen auf eine vorhandene MySQL Datenbank zuzugreifen.
Vielleicht erstmal kurz zur Eigentlichen Datenbank (Prozesse werden abgelegt) 1 Prozess besteht aus mehreren Schritten die aus verschiedenen Elementen bestehen
Tabelle Prozess (Prozess_ID, Schritt_ID)
Tabelle Schritte (Schritt_ID (Autoincrement), Handelnder_id, Zeit)
Tabelle Handelnder (Handelnder_id, Name)
Prozess_ID | Schritt_ID | Handender | Zeit
123 | 1 | Meyer | 22
123 |2 | Müller |
In etwa so soll die Tabelle wenn sie zusammengeführt aussehen
Verbindung zur Datenbank hab ich erfolgreich aufgenommen.
Dann hab ich die MetaData Instanz für die Tabellen festgelegt :
Die Klassen Angelegt nach dem Muster:
Bis hierhin bin ich mir auch noch relativ Sicher das alles Stimmt aber dann kommt das mapping und die Relationen:
Meine Fragen
1. Hab die die relationen richtig gesetzt oder hab ich mich doch vertan?
EIne Fehlermeldung das was am Code Falsch wäre bekomme ich nicht (noch nicht), ich vermute eben nur das er die Relationen nicht so baut wie sie sein sollten und ich deswegen auch keinen Ansatz finde einen Datensatz hinzuzufügen
Und
2. Wie bewerkstellige ich denn das Hinzufügen eines neues Datensatzes? :K
Wäre Tipps und Hilfestellung sehr Dankbar irgendwie fehlen mir da zwei drei Windungen um dahinter zu kommen.
hab leider ein Problem ich wollte SQLALchemy nutzen auf eine vorhandene MySQL Datenbank zuzugreifen.
Vielleicht erstmal kurz zur Eigentlichen Datenbank (Prozesse werden abgelegt) 1 Prozess besteht aus mehreren Schritten die aus verschiedenen Elementen bestehen
Tabelle Prozess (Prozess_ID, Schritt_ID)
Tabelle Schritte (Schritt_ID (Autoincrement), Handelnder_id, Zeit)
Tabelle Handelnder (Handelnder_id, Name)
Prozess_ID | Schritt_ID | Handender | Zeit
123 | 1 | Meyer | 22
123 |2 | Müller |
In etwa so soll die Tabelle wenn sie zusammengeführt aussehen
Verbindung zur Datenbank hab ich erfolgreich aufgenommen.
Dann hab ich die MetaData Instanz für die Tabellen festgelegt :
Code: Alles auswählen
Prozess_table=Table('prozess', MetaData,autoload=True)
Schritt_table=Table('schritt', MetaData,autoload=True)
Handelnder_table=Table('handelnder', MetaData,autoload=True)
Code: Alles auswählen
class Prozess(object):
def __int__(self,prozess_id,schritt_id):
self.prozess_id=prozess_id
self.step_id=step_id
Code: Alles auswählen
orm.mapper(Handelnder,handelnder_table,properties=
dict(Schritte=orm.relation(Schritte,uselist=False,backref='handelnder'))
Code: Alles auswählen
orm.mapper(Schritte,schritte_table)
Code: Alles auswählen
orm.mapper(Prozess,prozess_table,properties=
dict(schritte=orm.relation(Schritte,uselist=False,backref='prozess')))
1. Hab die die relationen richtig gesetzt oder hab ich mich doch vertan?
EIne Fehlermeldung das was am Code Falsch wäre bekomme ich nicht (noch nicht), ich vermute eben nur das er die Relationen nicht so baut wie sie sein sollten und ich deswegen auch keinen Ansatz finde einen Datensatz hinzuzufügen



Und
2. Wie bewerkstellige ich denn das Hinzufügen eines neues Datensatzes? :K
Wäre Tipps und Hilfestellung sehr Dankbar irgendwie fehlen mir da zwei drei Windungen um dahinter zu kommen.