SQLAlchemy: Ermittelt das Modell aus dem Tabellennamen. Dies könnte bedeuten, dass einem Metaklassenkonstruktor eine Funktion hinzugefügt wird, soweit ich das beurteilen kann

Ich möchte eine Funktion erstellen, die mit dem Namen einer Tabelle das Modell zurückgibtTabellenname. Z.B:

class Model(Base):
    __tablename__ = 'table'
    ...a bunch of Columns

def getModelFromTableName(tablename):
   ...something magical

Daher sollte getModelFromTableName ('table') die Model-Klasse zurückgeben.

Mein Ziel ist es, die Funktion in einem einfachen Formulargenerator zu verwenden, den ich mache, da FormAlchemy nicht mit python3.2 funktioniert und ich möchte, dass es gut mit Fremdschlüsseln umgehen kann.

Kann mir jemand Hinweise geben, wie getModelFromTableName funktioniert?

Hier ist eine Idee, die ich habe (es könnte völlig falsch sein, ich habe noch nie mit Metaklassen gearbeitet ...)

Was wäre, wenn ich meine Model-Klassen von Base sowie von einer anderen Klasse (TableReg) erben lassen und die Klassen-Meta von TableReg-Store-Model haben würde?Tabellenname in einem globalen Wörterbuch oder Singleton.

Mir ist klar, dass dies völlig anders sein könnte, da die Metaklasse von Base einige sehr wichtige und sehr raffinierte Dinge tut, die ich nicht brechen möchte, aber ich gehe davon aus, dass es eine Möglichkeit geben muss, ein wenig Konstruktorcode an die Metaklasse anzuhängen meiner Modelle. Oder ich verstehe nicht.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage