【问题标题】:Readonly field is not saving in database in openerp?只读字段未保存在 openerp 的数据库中?
【发布时间】:2014-04-22 12:42:28
【问题描述】:

我正在使用 python 和 xml 来创建一个 openerp 模块。我创建了具有多个字段的模块。除客户 ID 字段外,所有字段均为只读字段。当我在客户字段中填写客户 ID 时,其他字段会自动填写。但它不会将所有字段值保存在数据库中,除了客户 ID 字段。

当所有字段都不是只读时,它将保存 当所有字段为只读时,它不会保存

我想要什么

  1. 当我输入客户 ID 时,其他字段应自动填写。
  2. 除客户 ID 字段外,所有字段都应为只读。
  3. 点击保存时,所有值都应保存在数据库中。

谁能告诉我?我该怎么办?

提前致谢

【问题讨论】:

    标签: python openerp readonly


    【解决方案1】:

    对于特定的“状态”,您可以使用“状态”变量并将所需的变量设置为只读=真。并在类的创建或编写函数中将状态更改为完成。

    例如:在以下代码中使用您的变量而不是 client_id

    class collection_details(osv.osv):
     _name = "collection.details"
     _description = "Collection Details"    
     _columns={
        'state': fields.selection([
                ('draft', 'Draft Sales Order'),
                ('done', 'Done'),
                ], 'Status', readonly=True, invisible=True, track_visibility='onchange',
                help="", select=True),
        'client_id': fields.char('Client Id',size=64,readonly=True,states={'draft': [('readonly', False)]}),
     }
     _defaults = {
            'state': 'draft',
        }
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多