This question has been flagged
2 Replies
7100 Views

I want to load enumeration value from my model to selection field without storing it to the database.i know that i can specify the list of values in the selection field but this way is not working with domain filter.I want the selection field to be filtered based on some condition?

Avatar
Discard
Best Answer

Instead of listing the values in the selection field you can supply them from a function. The function will return a list of values:

def get_my_list(self):
do something...
    return [('a', 'A'),('b', 'B')]
my_list = fields.Selection(selection=get_my_list)

However, if you really need to set a domain on this field using a selection might not be the best option. I don't know your use-case so I can't comment on it, except to say that filtering a selection field seems sub-optimal to me.

Avatar
Discard
Author

Thanks Michale the thing i want is to limit the enum values based on some business constraints and i did it using a model with many2one field but with this thing i have to store the values in a database may be if it is possible to get values from model without storing it in database.

Best Answer

Binyam,

Your query is not clear, but as far as i got, you want to make selection field work as a many2one field.

For that i would suggest you to go in reverse manner, make many2one field look as a selection field.

You can take a many2one field, and simply add widget="selection" in its xml part.

hope it works for you..!    

Avatar
Discard