Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
1 Antworten
4182 Ansichten

Hello, How can I show the other field when it is selected?
Scenario:

fieldA has field1 and field2


If field1 is selected, fieldB will display

If field2 is selected, fieldC will display

class AccountVoucherLine(models.Model):
        _inherit = "account.voucher.line"
        
        fieldA = fields.Selection([
                ('field1', 'Field 1'),
                ('field2', 'Field 2'),
            ], 'Field Type', required=True,  index=True)
        
    class AccountVoucher(models.Model):
        _inherit = "account.voucher"
        
        fieldB = fields.Char(string="Field B")
        fieldC = fields.Char(string="Field C")
Avatar
Verwerfen
Beste Antwort

Hello,

        Try this in your xml file,

    <field name="fieldA/>
    <field name="fieldB  attrs="{'invisible': [('fieldA', '!=', 'field1')]}"/>

    <field name="fieldC  attrs="{'invisible': [('fieldA', '!=', 'field2')]}"/>

Thanks

Avatar
Verwerfen
Autor

Hi, I updated my code.

what if they are related fields from a different model?

Hi, In your case, based on fieldA , the other two fields are displaying. account.voucher.line is the One2many to account.voucher ,

You can have related field only in account.voucher.line and not in account.voucher

For example,

class AccountVoucher(models.Model):

_inherit = "account.voucher"

fieldB = fields.Char(string="Field B")

fieldC = fields.Char(string="Field C")

class AccountVoucherLine(models.Model):

_inherit = "account.voucher.line"

fieldA = fields.Selection([

('field1', 'Field 1'),

('field2', 'Field 2'),

], 'Field Type', required=True, index=True)

fieldB = fields.Char(string="Field B", related='voucher_id.fieldB', store=True)

fieldC = fields.Char(string="Field C", related='voucher_id.fieldC', store=True)

and as I answered before, view can be written only for account.voucher.line

Verknüpfte Beiträge Antworten Ansichten Aktivität
1
Jan. 23
2252
0
Juli 20
3347
1
Juli 19
6809
1
Mai 16
16936
1
Okt. 23
2019