首页 > 解决方案 > TypeError:product() 得到了一个意外的关键字参数“product_id”

问题描述

我在尝试通过烧瓶向 sqlalchemy db 中的产品类添加列时遇到错误

TypeError:product() 得到了一个意外的关键字参数“product_id”

这是产品类代码:

class product(db.Model):
    product_id = db.Column(db.String(100), primary_key=True)
    qty = db.Column(db.Integer, nullable=False)
    def __repr__(self):
        return f"product('{self.product_id}', '{self.qty}')"

这是添加代码:

@app.route("/addProduct", methods =['GET','POST'])
def addProduct():
    form = addProductForm()
    if form.validate_on_submit():
        Product = product(product_id=form.product_id.data, qty=form.qty.data)
        db.session.add(Product)
        db.session.commit()
        flash(f' {form.product_id.data} Product is Added successfully!', 'success')
    return render_template('addProduct.html', form = form)

它从表单中获取数据

标签: pythonsqlalchemy

解决方案


你的product班级没有__init__()。你是不是这个意思:

Product = product()
Product.product_id = form.product_id.data
Product.qty = form.qty.data

推荐阅读