0

我正在尝试使用 Flask 创建一个网页,该网页将数据插入到 postgresql 表BkpFulfilmentProductProvider中,但是当我通过网页执行此操作时,出现以下错误。

你能否请教可能是什么问题。

提前致谢

错误:

sqlalchemy.exc.StatementError: (builtins.TypeError) Not a boolean value: None
[SQL: INSERT INTO bkp_fulfilment_product_provider (fulfilment_provider_code, is_primary, on_hand_stock, on_order_stock) VALUES (%(fulfilment_provider_code)s, %(is_primary)s, %(on_hand_stock)s, %(on_order_stock)s)]
[parameters: [{'fulfilment_provider_code': (None,), 'on_hand_stock': (None,), 'is_primary': (None,), 'on_order_stock': None}]]

代码 :

  @app.route('/')
    def ful():
        return render_template('Ful_Product_Provider.html')
    
    @app.route('/Fulfilment', methods=['POST'])
    def fulfilmentproductprovider():
        from models import BkpFulfilmentProductProvider
        #if request.method == "POST":
        prod_cd = request.form.get('product_code')
        ful_provider_cd = request.form.get('fulfilment_provider_code')
        primary = request.form.get('is_primary')
        stock_in_hand = request.form.get('on_hand_stock')
        ordered_stock = request.form.get('on_order_stock')
    
        fulfil = BkpFulfilmentProductProvider(prod_cd,ful_provider_cd,primary,stock_in_hand,ordered_stock)
        db.session.add(fulfil)
        db.session.commit()
    
        return render_template('Ful_Product_Provider.html')
    

    
    if __name__ == '__main__':
        app.run(debug=True)

模型.py:

类 BkpFulfilmentProductProvider(db.Model): """ 履行产品提供者的数据库模型""" tablename = 'bkp_fulfilment_product_provider'

product_code = db.Column(db.String(100), primary_key=True)
fulfilment_provider_code = db.Column(db.String(100))
is_primary = db.Column(db.Boolean)
on_hand_stock = db.Column(db.Integer)
on_order_stock = db.Column(db.Integer)

def __init__(self,product_code,fulfilment_provider_code,on_hand_stock,on_order_stock,is_primary=False):
    self.product_code = product_code
    self.fulfilment_provider_code = fulfilment_provider_code,
    self.is_primary = is_primary,
    self.on_hand_stock = on_hand_stock,
    self.on_order_stock = on_order_stock
4

1 回答 1

0

这里有一个额外的逗号。fulfilment_provider_code,后面不能有逗号。

于 2021-06-28T06:45:16.510 回答