嗨,我正在使用Flask Peewee并尝试更新商人_详细信息模型,但是它不起作用。以下是我得到的错误:
AttributeError:“ SelectQuery”对象没有属性“ update”
mdetails = merchant_details.filter(merchant_details.merchant_id==session['userid']).update(
merchant_name=request.form['merchantname'],
first_name=request.form['firstname'],
last_name=request.form['lastname'],
)
请帮忙!
首先,看起来您正在使用2.0之前的语法(该filter
方法现已弃用)。我建议您查看文档以获取有关最新版本的信息。
通常,您不会“更新查询”。实现此目的的两种主要方法是...
1.)使用查询检索对象,然后使用save()
方法更新对象。例如...
mdetails = MerchantDetails.select().where(MerchantDetails.id == 42).get()
mdetails.name = 'new name'
mdetails.save() # Will do the SQL update query.
2.)使用SQL更新语句...
q = MerchantDetails.update(MerchantDetails.name='new name')
.where(MerchantDetails.id == 42)
q.execute() # Will do the SQL update query.
从本质上讲,这两个都完成相同的事情。第一个将对数据库进行两次查询(一个用于选择记录,另一个用于更新记录),而第二个将仅使用一个SQL调用(用于更新记录)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句