Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
5459 Zobrazení

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!

Avatar
Zrušit
Nejlepší odpověď

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.

Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
1
říj 15
6147
1
úno 25
903
3
kvě 24
15096
0
bře 16
3175