データベースからエントリを返す API を開発しています。Flask-SQLAlchemy、Flask-Marshmallow、Flask-Admin、および Docker を使用してすべてをパッケージ化しています。
1 つのファイル Packages.py には、データベースに関する次のコードがあります。クラス PckagesSchema は、Flash-Marshmallow を機能させようとしたときに追加したクラスです。
class Packages(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
trackingnumber = db.Column(db.String(15))
email = db.Column(db.String(80))
localid = db.Column(db.String(80))
class PackagesSchema(ma.ModelSchema):
class Meta:
model = Packages
メインファイルには、次のコードスニペットがあります
from app.models import Packages, PackagesSchema
packages_schema = PackagesSchema()
db.create_all()
そして、API GET リクエストを処理する部分をさらに下に移動します。
@app.route('/packages', methods=['GET'])
def get_packages():
result = packages_schema.dump(Packages).data
return jsonify(result)
現時点ではこれが返されます:
{
"email": "Packages.email",
"localid": "Packages.localid",
"trackingnumber": "Packages.trackingnumber"
}
ただし、Flask-Admin アプリが表示するように、データベースには間違いなく何かがあります。
Flask-Marshmallow を使用するのはこれが初めてなので、経験がまったくないので、助けていただければ幸いです。https://flask-marshmallow.readthedocs.io/en/latest/を読み ましたが、まだスタックしています。