class myModel(models.Model):
_name = 'my.model'
state = fields.Selection(selection=_STATES, string='Status', index=True, track_visibility='onchange',required=True, copy=False, default='draft')
my_model_line = fields.One2many('my.model.line', 'model_id')
別のモデル:私はmy.model.line moel 備考欄を非表示にするOdooの非表示フィールド
class MyModelLine(models.Model):
_name = 'my.model.line'
name = fields.Char(string='Name')
quantity = fields.Integer(string='Quantity', required=True, default=1)
remarks = fields.Text(string='Description')
my_model_id = fields.Many2one('my.model', 'My Model')
my_model.xml
<field name="my_model_line" attrs="{'readonly': [('state','not in', ('draft'))]}">
<tree string="My model Lines" editable="bottom">
<field name="name"/>
<field name="quantity"/>
<field name="remarks"/>
<button name="open_new_view" type="object" string="Add" class="oe_highlight"/>
<button icon="terp-face-plain" name="test" type="object" string="Add" class="oe_highlight"/>
</tree>
</field>
とボタンフィールドを追加に依存my.modelステータス。 たとえば、モデルステータスが承認されている場合は、フィールドを非表示にします。
私が理解しているように、my.model.lineには状態フィールドがないため、my_model.xmlのドメインには不可視属性を使用できません。たぶんそこには解決策がありますか?
my.model.lineオブジェクトにstatusフィールドを作成すると思っていましたが、ステータスはmy.modelステータスに依存します。
また、私はこのようにしようとしていた:
<field name="remarks" attrs="{'invisible': "[('my_model_id .state', '=', 'approved')]"}"/>
しかし、私はエラーました:「ドメインの不明なフィールドmy_model_id.state」