Seite 1 von 1

SQLAlchemy and_ und or_ filter?

Verfasst: Dienstag 22. April 2014, 14:35
von Ruffy
Hi,

ich versuche seit einiger Zeit folgenden SQL Query in SQLAlchemy umzusetzten, leider bisher erfolglos:
SELECT * from tvseries WHERE tvseries.last_update <= 0 AND tvseries.status = 1 AND tvseries.disabled = 0 OR tvseries.forceupdate = 1
leider konnte ich im netz auch nichts finden wie man and und or filter kombinieren kann (oder ich habe die falschen begriffe zum suchen benutzt) wenn ich die filter hintereinander hänge werden die ja auch nacheinander ausgeführt...

im prinzip ist das ziel:
Alle serien deren status 1, disabled 0 und last_update kleiner x ist zu erhalten. oder aber forceupdate = 1 (soll alles vorherige überschreiben)

für tipps/hilfe wäre ich echt dankbar :)

Re: SQLAlchemy and_ und or_ filter?

Verfasst: Dienstag 22. April 2014, 17:02
von BlackJack
@Ruffy: `and_()` und `or_()` sind halt einfach Funktionen statt Operatoren. Das sind auch keine Filter sondern Funktionen die Vergleiche verknüpfen. Ungetestet:

Code: Alles auswählen

    query = session.query(TVSeries).filter(
        or_(
            and_(
                TVSeries.c.last_update <= 0,
                TVSeries.c.status == 1,
                TVSeries.c.disabled == 0
            ),
            TVSeries.c.forceupdate == 1)
        )

Re: SQLAlchemy and_ und or_ filter?

Verfasst: Donnerstag 24. April 2014, 15:52
von Ruffy
Manchmal sieht man vorlauter Bäumen den Wald nicht...
Vielen Dank, jetztläufts :)