In Flask/SQLAlchemy, verwenden wir die Model
Klasse von flask_sqlalchemy
statt aus sqlalchemy
, wie folgt aus:Flask SQLAlchemy: Wie erweitert man die Basismodellklasse?
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
db = SQLAlchemy(app)
class Foo(db.Model):
bar = db.Column(db.String)
Ich habe eine Funktion, die ich zu jedem Modell hinzufügen Ich definiere. Ich möchte einige Basisklassen erweitern und die Funktion dort hinzufügen, damit ich mich nicht wiederholen muss. Mit normalen SQLAlchemy können wir die deklarative Basisklasse dazu erweitern. Wie können wir dies in flask_sqlalchemy
erreichen?
erstreckt sich von der db.Model
Klasse funktioniert nicht ohne Erhöhung:
InvalidRequestError: Class does not have a table or tablename specified and does not inherit from an existing table-mapped class.
Ich fügte einen anderen Weg hinzu, dies zu tun. Ich bin kein großer SQLAlchemy-Experte, also hoffe ich, dass dies auch richtig ist. –
Das ist interessant - cool. Ich bleibe für den ersten Weg. –