【问题标题】:Flask CRUD using SQLAlchemy, how can I load data columnFlask CRUD 使用 SQLAlchemy,如何加载数据列
【发布时间】:2016-06-15 02:02:58
【问题描述】:

我想加载数据库值?使用 sql alchmey。 如果我问使用 get mehtod '127.0.0.1/api/v1/user/25/'

数据库中有一个值(id=5, username=jaeyeon, email=jae@naver.com) 我想展示这个专栏。 但它不能。我在哪里可以修复代码?
我不知道参数如何传递..请帮助我:(

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:12345@localhost/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)

【问题讨论】:

    标签: python flask flask-sqlalchemy


    【解决方案1】:

    您设置会话的方式与我以前的做法有些不同,所以我不确定这是否有任何不同,但我可以看到您的查询存在一些问题。试试这个:

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

    假设args['id'] 将产生正确的值,那么这将返回来自User 的单个匹配行,并且您可以使用点符号来访问列。我看到你在使用点表示法时似乎有点不对劲,请记住这些值现在存储在 user_id 中,所以你必须像这样访问它们:

    email = user_id.email
    

    【讨论】:

    • 感谢您回答我的问题。我试过你的代码。但它不能有一个错误显示我像这样{“消息”:“浏览器(或代理)发送了一个该服务器无法理解的请求。”这是我更新的代码: 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) 打印条目
    • 嗯,在那种情况下,我认为这个问题超出了我的知识范围。很抱歉,我无法提供更多帮助。
    猜你喜欢
    • 2019-06-05
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 2022-07-08
    相关资源
    最近更新 更多