在 Frappe 应用程序中设置值不会反映在 ERPNext GUI 中
Setting a value in Frappe application isn't reflected in ERPNext GUI
我已经通过自定义向 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
测试它是否有任何影响,但我也在我的应用程序代码中尝试了几种方法。
相关文档:
原来答案是在进行更改后调用 frappe.db.commit()
。如果有人可以在文档中指出这一点,以便我更好地理解我是如何遗漏的东西,我将不胜感激。
我还注意到,如果您在发送 frappe.db.commit()
之前尝试在 UI 中保存一些内容,UI 将会挂起。
我已经通过自定义向 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
测试它是否有任何影响,但我也在我的应用程序代码中尝试了几种方法。
相关文档:
原来答案是在进行更改后调用 frappe.db.commit()
。如果有人可以在文档中指出这一点,以便我更好地理解我是如何遗漏的东西,我将不胜感激。
我还注意到,如果您在发送 frappe.db.commit()
之前尝试在 UI 中保存一些内容,UI 将会挂起。