def unlink(self): model = self.env['approval.flow'].search( [('model_id', '=', 'roke.dispatch.order.management.price.approve')]) audit = self.env['approval.flow'].search([('approval_cannot_run_id', '=', '删除')]) management = self.env['roke.dispatch.order.management.price.approve'].search([('order_id.id', '=', self.id)]) for record in management: if model: if audit and record.approval_status == '通过': raise UserError("应付费用审核通过不能删除") return super(Rokedispatchordermanagement, self).unlink()这个方法只可以一个一个删除怎么修改可以删除多条
时间: 2024-03-26 14:39:21 浏览: 137
node.js文件操作系统实例详解
可以使用以下代码实现批量删除功能:
```
def unlink(self):
model = self.env['approval.flow'].search([('model_id', '=', 'roke.dispatch.order.management.price.approve')])
audit = self.env['approval.flow'].search([('approval_cannot_run_id', '=', '删除')])
management = self.env['roke.dispatch.order.management.price.approve'].search([('order_id.id', 'in', self.ids)])
for record in management:
if model and audit and record.approval_status == '通过':
raise UserError("应付费用审核通过不能删除")
return super(Rokedispatchordermanagement, self).unlink()
```
这里使用了`self.ids`来获取当前选中的多条记录的id列表,然后在`management`中使用`'order_id.id', 'in', self.ids`来查询这些记录。这样就可以同时处理多条记录了。
阅读全文