2016-06-15 9 views
-2

データベース値をロードしますか? SQL Alchmeyを使用します。 私はmehtod '127.0.0.1/api/v1/user/25/' を取得使用してFlask CRUD SQLAlchemyを使用して、データ列をロードする方法

を依頼した場合、データベース内の値があります(ID = 5、ユーザ名= jaeyeon、[email protected]) 私はこの列を表示します。 でもできません。どこでコードを修正できますか?私は、パラメータを届ける方法がわからない
...私を助けてください:(

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) 

答えて

0

あなたは私がやってに慣れているよりも少し違ってセッションを設定しているので、私はそれかどうかわからないんだけど任意の違いは、私はあなたが作っているクエリといくつかの問題を見ることができる代わりに、これを試してみてください:。args['id']が適正値を生成するために起こっていると仮定すると

user_id = db.session.query(User).filter_by(id = args['id']).one() 

、これはUserから、単一の一致行を返します。あなたはドット記法を使って列にアクセスすることができます。彼は表記法を使用していますので、値は今度はuser_idに保存されていることを覚えておいてください。

email = user_id.email 
+0

私の質問にお答えいただきありがとうございます。私はあなたのコードを試しました。それは私がこのように表示されるエラーはありません{ "メッセージ": "ブラウザ(またはプロキシ)は、このサーバーが理解できない要求を送信しました。 }これは私の更新されたコードです:user_id = db.session.query(User).filter_by(id = args ['id']) entry = dict(id = user_id.id、username = user_id.username、email = user_id.email、password = user_id.password) print entry –

+0

この場合、私はこの問題が私の知識を超えていると思います。私は助けるためにもっとや​​ることができないことを申し訳なく思っています。 – coralvanda

+0

それは大丈夫です、私に返信いただきありがとうございます:) –

関連する問題