1

我通过自定义向 Customer DocType 添加了一个“number_of_members”值。

在我的应用程序中,我尝试了几种更新值的方法。但是,该值永远不会在网页中更新。我觉得我错过了某种保存或更新或提交步骤。

例如我试过:

  • frappe.client.set_value('Customer', '00042', 'number_of_members', 8887)
  • frappe.set_value('Customer', '00042', 'number_of_members', 8887)
  • frappe.db.set_value('Customer', '00042', 'number_of_members', 8887)
  • 并且
customer = frappe.get_doc('Customer', '00042')
customer.number_of_members = 8887
customer.save()

在每种情况下,我都可以执行 frappe.get_value 或 frappe.get_doc 之类的操作,它显示该值设置为 8887。但是它永远不会在 Web 端更新。这就是让我觉得我正在更新某种缓存或数据库事务的原因,我需要一些方法来保存它,但没有任何运气。

如果这与它有任何关系,我主要通过bench console它进行测试,但我也在我的应用程序代码中尝试了几种方法。

相关文件:

4

1 回答 1

1

原来答案是frappe.db.commit()在做出改变后打电话。如果有人可以在文档中指出这一点,以便我可以更好地理解我是如何遗漏的东西,我将不胜感激。

我还注意到,如果您在发送 UI 之前尝试在 UI 中保存某些内容,frappe.db.commit()则会挂起。

于 2020-04-24T17:34:15.490 回答