Как изменить значение выделения с помощью Python на Tryton

Есть ли способ изменить значение поля выбора с помощью Python, и я не нашел никакой документации для использования. Поле состояния - это поле, которое описывает состояние лечения

Я хочу сделать что-то вроде:

state=fields.Selection([
        ('stopped', 'Stopped'),
        ('wait', 'Wait'),
        ('finished', 'finished'),
        ], 'State', readonly=True)

def changeselectionvalue(self,state)
    self.state=state #something to do this

Помогите мне, пожалуйста, я новый пользователь Tryton

1 ответ

Решение

Просто используйте API записи:

records = Model.search([]) #Get all the records you wan to write. 
Model.write(records, {'state': 'new_state'})

Или шаблон ActiveRecord:

self.state = 'new_state'
self.save()

"новое состояние" должно быть одним из внутренних значений выбора.

Первый рекомендуется, когда вам нужно обновить более одной записи в группе.

Если вы подклассы модели класса Workflow, рекомендуется использовать декоратор @Workflow.transition(new_state) для изменения состояния записей, так как он обновляет только те записи, для которых допустим переход.

Другие вопросы по тегам