4
Ich verwende Flask, SQLAlchemy und Postgresql mit JSON-Feldtypen. ich Fragen habe Daten aus mit SQLAlchemy AbfrageAbfrage Wert aus JSON-Feld in Flask-SQLAlchemy mit Postgresql
Hier ist mein Modell Beispiel:
class WorkQueue(db.Model):
__tablename__ = "workQueue"
id = db.Column(db.Integer, primary_key=True)
field_data = db.Column(JSON)
def __init__(self, field_data = None):
self.field_data = field_data
Hier ist ein Beispiel des Datensatzes ich in die Datenbank mich um
{
"files":
[
{
"added": 1470248644.093014,
"totalbytes": 1109630458,
"filename": "/home/me/project/static/uploads/file.ext",
"finished": false,
"basefilename": "file.ext",
"file_id": 21,
"numsegments": 2792
}
],
"numfiles": 1,
"success": true
}
das ich habe, Probleme abfragen - versuchen, "WorkQueue ['files'] [0] ['file_id']" von einer als solche definierten Route zu finden:
@page.route('/remove/<int:id>', methods=['GET', 'POST'])
def file_remove(id):
to_remove = id
# here is where I would query and delete, but I can't get this right
Von psql wäre es so etwas wie dieses:
select * from "workQueue" t, json_array_elements(t.field_data->'files') as files WHERE CAST(files->>'file_id' AS INTEGER) = 1;
einfach nicht
Perfekt illustriert, was ich fragen, in SQLAlchemy scheinen kann. Danke vielmals. – weevisss
Diese Antwort verdient mehr als zwei Up-Stimmen. Ich habe alle Dokumentationen ausgegraben, konnte aber nicht herausfinden, wie es geht. Vielen Dank. – norbertpy
Danke für das Teilen! :) – Augiwan