SQLAlchemy und Vererbung

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Jan-Peer
User
Beiträge: 166
Registriert: Dienstag 2. Oktober 2007, 10:55

Freitag 1. Februar 2008, 11:37

Folgendes:

Code: Alles auswählen

class A(object):
    def __init__(self):
        self.testtext = "wooha"

class B(A):
    def __init__(self, name):
        A.__init__(self)
        self.name = name
Wenn ich jetzt eine Tabelle auf die Klasse B mappe, steht das Attribut testtext in per Query erzeugten B-Objekten nicht zur Verfügung. Mache ich hier was falsch, oder geht SQLAlchemy gar nicht über die __init__ :?:

Vielen Dank schon mal

Jan-Peer
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Freitag 1. Februar 2008, 14:05

Der Mapper selbst, aber auch Queries, fassen den Konstruktor meines Wissens gar nicht an. Er wird nur aufgerufen, wenn du explizit ein Objekt (und damit einen Datensatz) anlegst - und das macht SQLAlchemy vermutlich in keinem Fall von selbst.

Es gibt doch sicher einen anderen Ansatz, als das Attribut per Kontruktor der Instanz zuzuweisen?
Antworten