Ich möchte Datenbankwert laden? mit sql alchmey. Wenn ich frage get Mehtod '127.0.0.1/api/v1/user/25/' mitFlask CRUD mit SQLAlchemy, wie kann ich Datenspalte laden
Es gibt einen Wert in Datenbank (id = 5, username = jaeyeon, [email protected]) I möchte diese Spalte anzeigen. aber es kann nicht. Wo kann ich den Code reparieren?
Ich weiß nicht, wie Parameter liefern .. Bitte helfen Sie mir :(
from flask import Flask, url_for, redirect
from flask_sqlalchemy import SQLAlchemy
from flask_restful import reqparse, abort, Api, Resource
app = Flask(__name__)
api = Api(app)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:[email protected]/catchat'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
email = db.Column(db.String(120), unique=True)
password = db.Column(db.String(120), unique=True)
def __init__(self, username, email, password):
self.username = username
self.email = email
self.password = password
def __repr__(self):
return '<User %r>' % self.username
class user(Resource):
def get(self, id):
args = parser.parse_args()
user_id = db.session.query(User.id == args['id']).filter(id)
print user_id
entry = [dict(id=user.id, username=user.username, email=user.email, password=user.password)]
print entry
return entry, 200
api.add_resource(user,'/api/v1/user/<int:id>')
if __name__ == '__main__':
app.run(debug=True)
Vielen Dank für die Antwort meine Frage. Ich habe deinen Code ausprobiert. aber es kann nicht gibt es einen Fehler zeigte mir so { "Nachricht": "Der Browser (oder Proxy) schickte eine Anfrage, die dieser Server nicht verstehen konnte." } Dies ist mein aktualisierter Code: user_id = db.session.query (Benutzer) .filter_by (id = args ['id']) eintrag = dict (id = benutzer_id.id, benutzername = benutzer_id.username, email = user_id.email, password = user_id.password) Eintrag drucken –
Hm, in diesem Fall denke ich, dass dieses Problem meines Wissens nicht bekannt ist. Es tut mir leid, dass ich nicht mehr tun kann, um zu helfen. – coralvanda
Das ist in Ordnung, danke für die Antwort auf mich :) –