2016-09-09 2 views
1

Ich habe eine bereits vorhandene Datenbank, die ich mit SQLAlchemy verwende, also verwende ich Automap, um die Modelle aus der Datenbank zu erhalten. Was ist der beste Weg, Methoden zu diesen Klassen hinzuzufügen? Für eine Benutzerklasse möchte ich beispielsweise Methoden wie die Überprüfung des Kennworts hinzufügen. Außerdem möchte ich Methoden für Flask-Login-Methoden (UserMixin) hinzufügen.SQLAlchemy automap - Hinzufügen von Methoden zu automatischem Modell

Antwort

1

Specify your classes explicitly vorher und Ihre Methoden definieren, wie Sie es normalerweise:

Base = automap_base() 

class User(Base): 
    __tablename__ = 'user' 

    def verify_password(self, password): 
     ... 

Base.prepare(engine, reflect=True) 

Jetzt Base.classes.User und User gleich sind, mit zusätzlichen Methoden. Um Ihre User Klasse Flasch-Login kompatibel zu machen, implementieren Sie die listed attributes and methods, oder fügen Sie die UserMixin zu Ihrer User Klasse. Das Mixin scheint nur die Existenz eines id Attributs/Spalte aus Ihrer User Klasse zu erwarten.

+0

In der Klasse, muss ich nur die Methoden implementieren, da Automap andere Dinge wie Attribute ausfüllen? – hatooku

+0

So ziemlich, Automap wird die Spalten zur Verfügung stellen. –

+0

Super, danke! – hatooku

Verwandte Themen