Der beste Weg, Daten aus SQLAlchemy basierend auf dem Datum aufzuteilen?Python

Python-Programme
Guest
 Der beste Weg, Daten aus SQLAlchemy basierend auf dem Datum aufzuteilen?

Post by Guest »

Stellen Sie sich diese Tabelle vor:

Code: Select all

class Entries(db.Model):
__tablename__ = "entries"
id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(Text)
created_time = Column(Datetime)
Und in der Datenbank habe ich folgende Daten:

Code: Select all

id   data     created_time
---------------------------
1    entry1   2024-10-29 01:55:20
2    entry2   2024-10-29 12:44:50
3    entry3   2024-10-29 08:47:10
4    entry4   2024-12-01 14:30:19
5    entry5   2024-12-01 10:58:36
6    entry6   2024-12-05 22:15:48
Ich möchte die Daten nach Datum gruppiert und nach Zeit absteigend sortiert anzeigen.
Dies ist beispielsweise nach dem neuesten Datum sortiert und zeigt innerhalb jedes Datums die Eintragsdaten sortiert nach dem neuesten Datum:

Code: Select all

Dec 05 2024
entry6

Dec 01 2024
entry4
entry5

Oct 29 2024
entry2
entry3
entry1
Gibt es eine Möglichkeit, in SQLAlchemy einfach Abfragen durchzuführen, um die Daten auf diese Weise herauszubekommen?
Wenn nicht und ich muss das selbst manuell aufteilen, ich habe diese Abfrage:

Code: Select all

data = db.session.query(Entries).order_by(text("created_time DESC")).all()
Wie kann ich Daten aufteilen, damit ich ganz einfach etwas tun kann wie:

Code: Select all

for date in data:
print(date.created_time)
for entry in date.entries:
print(entry.name)
print("\n")
Ein großes Problem beim manuellen Chunking besteht darin, dass die Daten anfangs alle technisch unbekannt sind. Müsste ich zuerst eine Abfrage durchführen, um alle eindeutigen Daten zu erhalten, und dann jedes Datum einer zweiten Abfrage unterziehen die Einträge bekommen? Das sind viele Abfragen pro Datum, die ausgeführt werden müssen, und scheinen ineffizient zu sein. Jede Hilfe willkommen!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post