【问题标题】:How can I override the create method of a record created from another model in Odoo?如何覆盖从 Odoo 中的另一个模型创建的记录的 create 方法?
【发布时间】:2021-05-27 13:19:54
【问题描述】:

基本上,我有一个用于医院预约的模型,在该模型中,我有一个多对一字段与另一个模型用于患者。我想要的是每次我在约会模型中使用“创建和编辑”选项在患者模型中创建记录时,该记录会自动设置为状态等于已验证(与草稿相反,最初设置为默认),但是当我从患者模型创建患者记录时,它会正常保存记录,默认为草稿

【问题讨论】:

  • Odoo 是基于 python 的,你可以使用继承然后覆盖 create 函数。

标签: database odoo-12


【解决方案1】:

您可以在 xml 中使用带有字段定义的上下文,例如:

<field name="partner_id" widget="res_partner_many2one" context="{'search_default_supplier':1, 'default_supplier':1, 'default_customer':0, 'show_vat': True}" domain="[('supplier','=',True)]"  placeholder="Name, TIN, Email, or Reference" /> 

希望这会有所帮助。

【讨论】:

  • 我是odoo的新手,所以我不太了解,这会自动将状态设置为我从预约模型创建的患者记录中验证的状态?或者我仍然需要在其他地方覆盖 create() 方法?谢谢!
  • 不需要重写创建方法,你只需要在字段定义中传递上下文(在xml中),通过上下文你可以设置默认值,更多参考你可以在购买中查看purchase_view.xml odoo 的模块。
猜你喜欢
  • 1970-01-01
  • 2021-12-14
  • 1970-01-01
  • 1970-01-01
  • 2018-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-07
相关资源
最近更新 更多