【发布时间】:2017-09-27 11:17:37
【问题描述】:
目前,我正在更新如下购物清单项目
def update_item(self, name, price, quantity, shoppinglist):
# updates self If the variable is not equal to the name None
if name != "None":
self.name = name
if price != "None":
self.price = price
if quantity != "None":
self.quantity = quantity
if shoppinglist != "None":
self.shoppinglist_id = shoppinglist.id
db.session.commit()
不过,我觉得可能有更好的方法来做到这一点。任何帮助将不胜感激。
【问题讨论】:
-
您试图一次更新所有内容并使用“无”字符串作为指标值的事实使事情变得复杂。为什么不为每个设置一个单独的设置器?还是传入字典?
-
这是一个 Flask API,使用字符串“None”只是为了表示用户不想更新该字段。如果我对每个都使用设置器,他们是否仍应检查值是否等于“无”??
-
这感觉很糟糕。您应该设置每个变量,即使该变量设置为“无”。这样,当您尝试访问变量时,它就不会崩溃。
-
@ddg 由于它是一种更新方法,因此应用程序不会崩溃,因为如果值未更新,它将保留其先前的值
-
哦,对不起,没意识到
标签: python python-2.7 python-3.x flask-sqlalchemy