我正在使用python和xml来创建一个openerp模块。我创建了具有多个字段的模块。除客户ID字段外,所有字段都是只读字段。当我在客户字段中填写客户ID时,其他字段会自动填写。但除了客户ID字段外,它不会保存数据库中的所有字段值。
当所有字段都不是只读时,它将保存 当所有字段都是只读时,它将无法保存
所以我想要什么
提前致谢
答案 0 :(得分:1)
您可以使用'state'变量并将所需变量设置为readonly = True表示特定'state'。并在创建或编写类的函数中将状态更改为完成。
例如:在以下代码中使用您的变量而不是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',
}
希望这会对你有所帮助