Flask アプリケーション用の API を実装する必要があり、 Flask-Restless
. 私は、このライブラリの基本的な使用法だけで壁のようなものに遭遇しました。これを使用したことがある人が助けてくれることを願っています。
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 db ビューアーでテストしたところ、エントリが表示されました。
$('#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: one() の行が見つかりませんでした
api/galleries
データベースエントリのリストを返す必要があるときに one() を実行しようとするのは奇妙です。私api/galleries/1
はまったく同じエラーを取得しようとします。再確認したところ、プライマリ ID は 1 です。何が欠けていますか?