Skip to Content
Menu
This question has been flagged
1 Atsakyti
5467 Rodiniai

Hello,

I am creating my first module and I have one field that I am adding that will be a dropdown selection. Instead of hardcoding the options for that field, I would like to have a settings section so that a user can add which options will be available from that dropdown option, and then the user can select one of those options. Can anyone point me in the right direction as to how to do this? Thanks!

Portretas
Atmesti
Best Answer

You can create an object where you will keep your settings options

class my_settings(osv.osv):
    _name = "my.settings"
    _description = "Settings"
    _columns = {
        'name': fields.char('Setting name', size=64, required=True),
    }
    _sql_constraints = [
        ('name', 'unique(name)', 'Setting name must be unique')
    ]
    _order = 'name asc'


And in the main object of your module, you'll create a many2one connection to your settings table like this

class wtv(osv.osv):
    _name = "wtv"
    _description = "WTV"
    _columns = {
        'name': fields.char('Wtv name', size=64, required=True),
    'settings': fields.many2one('my.settings', 'Settings', help='Select an option from the dropdown'),
    }
    _sql_constraints = [ ('name', 'unique(name)', 'Setting name must be unique')   ]
    _order = 'name asc'

In your main wtv form view, when adding the <field name="settings" /> tag, a dropdown will be displayed with the contents of whatever is stored in the my_settings table.

Portretas
Atmesti
Related Posts Replies Rodiniai Veikla
1
spal. 15
6160
1
vas. 25
907
3
geg. 24
15102
0
kov. 16
3177