2017-10-26 1 views
0

Ich möchte eine Abfrage erstellen, um Elemente zwischen dem Intervall date_start undFilterung eines bestimmten Zeitintervalls wie 02AM bis 04AM.SQLAlchemy, Abfrage mit Datumsintervall, Filtern nach time_start und time_end

all_elements = "elements >= date_start and <= date_finish" 
all_elements_on_interval = "all_elements >= x.time and <= y.time" 

ps: es ist ein erstes Mal mit SQLAlchemy.

+1

Es sieht zu importieren, wie Sie fragen, wie man eine ganz grundlegende Abfrage mit einem Filter nach Datum oder Datum und Zeit zu komponieren (vielleicht auch nur nach Stunden, nicht sicher). Was genau ist das Problem? Haben Sie die SQLAlchemy-Dokumentation zum Schreiben von Abfragen und Filtern von Daten gelesen? –

Antwort

0

Wenn Sie Ihren Spaltentyp ein sqlalchemy.DateTime Objekt machen, können Sie einen ziemlich einfachen Filter ausführen; sqlalchemy verwendet das Python datetime.datetime() Objekt.

class Element(Base): 
    __tablename__ = 'elements' 
    id = Column(Integer, primary_key=True) 
    name = Column(String(64)) 
    dt = Column(DateTime) 

date_start = datetime(2017, 10, 27, 2, 0) 
date_finish = datetime(2017, 10, 27, 4, 0) 

all_elements_on_interval = session.query(Element).filter(and_(Element.dt >= date_start, Element.dt <= date_finish)).all() 

nicht Vergessen Sie Datetime und die sqlalchemy and_

from datetime import datetime 
from sqlalchemy import and_ 
Verwandte Themen