如何在Tryton上使用Python更改选择的值

时间:2014-08-09 11:14:45

标签: 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 个答案:

答案 0 :(得分:1)

只需使用write 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)装饰器来更改记录的状态,因为它只更新转换有效的记录。