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 Feld name.
  • das Feld name ist ein Beispiel, das Feld ist citta.
  • Sieht meine Antwort Ihr problem lösen?
InformationsquelleAutor dev_ | 2016-03-03
Schreibe einen Kommentar