Als «sqlalchemy» getaggte Fragen

116
SQLAlchemy: Kaskadenlöschung

Bei den Kaskadenoptionen von SQLAlchemy muss mir etwas Triviales fehlen, da ich keine einfache Kaskadenlöschung erhalten kann, um ordnungsgemäß zu funktionieren. Wenn ein übergeordnetes Element gelöscht wird, bleiben die untergeordneten Elemente mit nullFremdschlüsseln erhalten. Ich habe hier einen...

114
sqlalchemy flush () und ID eingefügt bekommen?

Ich möchte so etwas machen: f = Foo(bar='x') session.add(f) session.flush() # do additional queries using f.id before commit() print f.id # should be not None session.commit() Aber f.idist , Nonewenn ich es versuchen. Wie kann ich das zum Laufen

105
SQLAlchemy: Wie filtere ich ein Datumsfeld?

Hier ist Modell: class User(Base): ... birthday = Column(Date, index=True) #in database it's like '1987-01-17' ... Ich möchte zwischen zwei Daten filtern, um beispielsweise alle Benutzer im Intervall von 18 bis 30 Jahren auszuwählen. Wie implementiere ich es mit SQLAlchemy? Ich denke an: query =...

103
Wie erstelle ich eine neue Datenbank mit SQLAlchemy?

Mit SQLAlchemy wird ein Engine-Objekt wie folgt erstellt: from sqlalchemy import create_engine engine = create_engine("postgresql://localhost/mydb") Der Zugriff engineschlägt fehl, wenn die im Argument to create_engine(in diesem Fall mydb) angegebene Datenbank nicht vorhanden ist. Kann SQLAlchemy...

99
sqlalchemy IS NOT NULL auswählen

Wie kann ich den Filter wie in SQL hinzufügen, um Werte, die NICHT NULL sind, aus einer bestimmten Spalte auszuwählen? SELECT * FROM table WHERE YourColumn IS NOT NULL; Wie kann ich dasselbe mit SQLAlchemy-Filtern tun? select = select(table).select_from(table).where(all_filters)...

98
SQLAlchemy: Erstellen oder Wiederverwenden einer Sitzung

Nur eine kurze Frage: SQLAlchemy spricht davon , sessionmaker()einmal aufzurufen , aber die resultierende Session()Klasse jedes Mal aufzurufen, wenn Sie mit Ihrer Datenbank sprechen müssen. Für mich bedeutet das, dass ich in der Sekunde, in der ich meine erste session.add(x)oder etwas Ähnliches...