flaskでapiを初めて作っています。
この方の動画を参考に進めていってるのですが
参考動画
apiのModelの定義のところで警告が出てしまいます。
python
1from flask import Flask, request, jsonify 2from flask_sqlalchemy import SQLAlchemy 3from flask_marshmallow import Marshmallow 4import os 5 6# Init app 7app = Flask(__name__) 8basedir = os.path.abspath(os.path.dirname(__file__)) 9# Database 10app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'db.sqlite') 11app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False 12# Init db 13db = SQLAlchemy(app) 14# Init ma 15ma = Marshmallow(app) 16 17# Product Class/Model 18class Product(db.Model): 19 id = db.Column(db.Integer, primary_key=True) 20 name = db.Column(db.String(100), unique=True) 21 description = db.Column(db.String(200)) 22 price = db.Column(db.Float) 23 qty = db.Column(db.Integer) 24 25 def __init__(self, name, description, price, qty): 26 self.name = name 27 self.description = description 28 self.price = price 29 self.qty = qty 30 31# Product Schema 32class ProductSchema(ma.Schema): 33 class Meta: 34 fields = ('id', 'name', 'description', 'price', 'qty') 35 36# Init schema 37product_schema = ProductSchema() 38products_schema = ProductSchema(many=True) 39 40 41# Run Server 42if __name__ == '__main__': 43 app.run(debug=True) 44
class Product(db.Model):
の(db.Model)が警告出ているところです
警告内容は
Inheriting 'db.Model', which is not a class.Python(inherit-non-class)
Pythonのclassではないと怒られているように解釈できますが
原因がわかりません。
python app.py でプログラムを走らせると
動きます。
また、動画内では
product_schema = ProductSchema(strict=True) products_schema = ProductSchema(many=True, strict=True)
このように定義していますがエラーが出てしまって
動きません。
TypeError: __init__() got an unexpected keyword argument 'strict'
下記のようにすると
エラーはなくなるのですが、strictの意味がよくわかっていません。
product_schema = ProductSchema() products_schema = ProductSchema(many=True)
これから勉強していくところで最初に詰まってしまいました。
色々調べて見たのですが、解決しないのでこちら質問させていただきました。
どなたかわかる方、教えてください。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/06 01:30
2019/09/06 01:55
2019/09/06 08:01
2019/09/06 08:15
2019/09/06 09:00