How to set a selection field to be not required

Hi, I have a field type selection defined like that:

`process_machine = fields.Selection('on_change_with_process_machine', 'Process', 
            'invisible': (Eval('type_automatic') == 'automatic')}, 
        depends=['type_automatic'], required=False)`

about the function related to this field:

    def on_change_with_process_machine(self, name=None):
        if(self.type_machine == "machine"):
            liste.append(("AW", "AW | Arc  | 1 | "))
            liste.append(("AW", "AW | Arc  | 2 | "))
            liste.append((" ", " "))
            liste.append((" ", " "))
        return liste

I have also added a default value for this selection field:

def default_process_machine():
   return " "

But it keeps tell me , it’s required and that i should choose it, any help will be appreciated How i can do that(How i can force setting a selection field to be not required) ?

You must provide a selection option for None (or '' but it is not the recommended way).

An " " is not an empty string but a string with a single space, this is not no value.

I have did that and i have put i"None" on the default function but it keeps tell that it’s required( i can not fill it manually because there was a case of visibilty)

Now if you created the table with the field being required and then remove it. It is still required in the database because update process does not remove automatically the NOT NULL.