Wie man einen Datensatz mit SQLAlchemy?
Ich versuche zur Entwicklung einer web-api mit flask
und sqlite
. Für die Kommunikation mit der db ich bin mit sqlalchemy
.
In dem code, den ich poste unten habe ich erstellen Sie eine GET-Methode zum abrufen aller Daten in eine bestimmte Tabelle in der db:
from flask import Flask, g, Response, request, jsonify, abort
from flask_restful import Resource, Api
from sqlalchemy import create_engine
from flask.ext.restless import APIManager
from flask.ext.sqlalchemy import SQLAlchemy
from json import dumps
import sqlite3
import json
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///climb.db"
db = SQLAlchemy(app)
class falesie(db.Model):
__tablename__ = 'falesie'
id = db.Column(db.Integer, primary_key=True)
regione = db.Column(db.String(20))
citta = db.Column(db.String(20))
n_settori = db.Column(db.Integer)
lat = db.Column(db.Float)
lon = db.Column(db.Float)
def __init__(self, regione, citta, n_settori, lat, lon):
self.regione = regione
self.citta = citta
self.n_settori= n_settori
self.lat = lat
self.lon = lon
@app.route('/dev', methods = ['GET'])
def get_falesie():
Falesie = falesie.query.all()
formatted_falesie = []
for f in Falesie:
formatted_falesie.append({
'id': f.id,
'regione': f.regione,
'citta': f.citta,
'n_settori': f.n_settori,
'lat': f.lat,
'lon': f.lon})
return json.dumps({'Falesie': formatted_falesie}), 200, {'Content- Type': 'application/json'}
if __name__ == "__main__":
db.create_all()
app.run(debug=True)
Ich würde gern ein GET
Methode auf, um einen bestimmten Datensatz mit einem bestimmten Wert, wie in diesem Beispiel:
@app.route('dev/<string:name>')
def get_data(name):
Ich weiß nicht, wie zum abrufen eines einzelnen Datensatzes. Jede Hilfe bitte?
- Welches Feld Sie verwenden möchten, wenn Sie Abfragen
falesie
? Es muss nicht ein Feldname
. - das Feld name ist ein Beispiel, das Feld ist citta.
- Sieht meine Antwort Ihr problem lösen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies sollte helfen, Sie bekommen nur ein Ergebnis von
falesie
:Wo
session
wird wie folgt erreicht:Aus der
SQLAlchemy
Dokumentation.Wenn Sie Lesen,das tutorial, wirst du sehen, dass Sie können filter der Abfrage. Sollte sowas sein, was du willst: