我需要为我的Flask应用程序实现一个API,并已看到Flask-Restless
的建议。我已经跑进了一堵墙,只是基本使用了这个图书馆,并希望有人使用它可以提供帮助。Flask-Restless GET请求抛出SQLAlchemy错误
创建API管理和端点...
manager = APIManager(app, flask_sqlalchemy_db=db)
manager.create_api(Gallery, methods=['GET', 'POST', 'PUT', 'DELETE'])
...这与
class Gallery(db.Model):
__tablename__ = 'galleries'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(25))
def __init__(self, title):
self.title = title
去现在,插入新条目的模式,我用这个jQuery的AJAX POST请求。这工作正常。我已经在sqlite数据库查看器中测试过它,并可以看到条目。
$('#form').on('submit', function(e){
$.ajax({
type: 'post',
url: '/api/galleries',
contentType:"binary/octet-stream",
data: JSON.stringify({'title': $('#title').val()}),
success: function(){
alert('Success!');
}
});
e.preventDefault();
});
这是问题所在。我去http://localhost:5000/api/galleries
在我的浏览器,并获得以下消息:
sqlalchemy.orm.exc.NoResultFound
NoResultFound:没有行被发现的一个()
它的奇怪它会当api/galleries
应该返回一个数据库条目列表时,尝试运行一个()。我尝试api/galleries/1
并得到完全相同的错误。我加倍检查,主ID是1.我错过了什么?
调试它并逐步跟踪以查找运行的语句。 – codecool