我正在使用 Flask-RESTful,这是我的类,我想要插入。
class OrderHistoryResource(Resource):
model = OrderHistoryModel
schema = OrderHistorySchema
order = OrderModel
product = ProductModel
def post(self):
value = req.get_json()
data = cls.schema(many=True).load(value)
data.insert()
在我的模型中。
def insert(self):
db.session.add(self)
db.session.commit()
模式(schema)
from config.ma import ma
from model.orderhistory import OrderHistoryModel
class OrderHistorySchema(ma.ModelSchema):
class Meta:
model = OrderHistoryModel
include_fk = True
我要插入的示例数据
[
{
"quantity":99,
"flaskSaleStatus":true,
"orderId":"ORDER_64a79028d1704406b6bb83b84ad8c02a_1568776516",
"proId":"PROD_9_1568779885_64a79028d1704406b6bb83b84ad8c02a"
},
{
"quantity":89,
"flaskSaleStatus":true,
"orderId":"ORDER_64a79028d1704406b6bb83b84ad8c02a_1568776516",
"proId":"PROD_9_1568779885_64a79028d1704406b6bb83b84ad8c02a"
}
]
插入方法开始后,我获得了以下结果
TypeError: insert() takes exactly 2 arguments (0 given)
还有其他方法可以执行这个操作吗?
post
定义为类方法,而且在该方法内部,你已经在函数定义中传递了self
,但是使用cls
来访问模式,这似乎应该会出错。我看不到代码的其余部分,但假设OrderHistorySchema
只是一个marshmallow模式?这意味着data
不是你的模型实例,因此可能是不同的insert
方法?请展示模型和模式类。 - elembie