Ich hatte einen kleinen Webdienst mit Flask
und Flask-SQLAlchemy
, die nur ein Modell enthielt. Ich möchte jetzt die gleiche Datenbank verwenden, aber mit einer Befehlszeilen-App, also möchte ich die Flask
Abhängigkeit fallen lassen.Verwenden von Flask-SQLAlchemy ohne Flask
Mein Modell sieht wie folgt aus:
class IPEntry(db.Model):
id = db.Column(db.Integer, primary_key=True)
ip_address = db.Column(db.String(16), unique=True)
first_seen = db.Column(db.DateTime(),
default = datetime.datetime.utcnow
)
last_seen = db.Column(db.DateTime(),
default = datetime.datetime.utcnow
)
@validates('ip')
def validate_ip(self, key, ip):
assert is_ip_addr(ip)
return ip
Da db
nicht mehr ein Hinweis auf flask.ext.sqlalchemy.SQLAlchemy(app)
sein, wie kann ich mein Modell umbauen SQLAlchemy zu verwenden. Gibt es eine Möglichkeit für die beiden Anwendungen (eine mit Flask-SQLAlchemy
die andere mit SQLAlchemy
), die gleiche Datenbank zu verwenden?
Die * Datenbank * sollte die unabhängig sein * Modelle * oder ORM-Ebene, die Sie verwenden. – Makoto
Ja, das verstehe ich. Ich suche nach einer Möglichkeit, Code sowohl in Kolben als auch in Nicht-Kolben zu verwenden, ohne meine Modelldefinitionen in irgendeiner signifikanten Weise ändern zu müssen. – amccormack
In Ihrem Modell gibt es nichts, was mit Kolben zu tun hat. Alles, was Sie brauchen, ist eine db-Verbindung zu erstellen und Ihr Modell in eine flash- oder non-flask-App zu importieren. Ich würde das Modell einfach in 'models.py' einfügen (verschiebe einfach das obige von der flask-Haupt-.py-Datei und importiere/instanziiere IPentry, wenn nötig). –