Python 如何动态设置字段属性(限制)?
我有一个One2many字段需要设置限制, 我可以将静态数字设置为Python 如何动态设置字段属性(限制)?,python,odoo-11,Python,Odoo 11,我有一个One2many字段需要设置限制, 我可以将静态数字设置为record\u id=fields.One2many('root.model','name',limit=10) 这将仅显示10条记录 但是现在我想为用户设置这个字段来更改它的限制 我将其属性更改为limit=lambda self:self.\u record\u limit() ,并将字段设置为record\u limit=fields.Integer(默认值=10) stock\u id=fields.One2many('
record\u id=fields.One2many('root.model','name',limit=10)
这将仅显示10条记录
但是现在我想为用户设置这个字段来更改它的限制
我将其属性更改为limit=lambda self:self.\u record\u limit()
,并将字段设置为record\u limit=fields.Integer(默认值=10)
stock\u id=fields.One2many('bs.stock.material.details','name',limit=lambda self:self.\u record\u limit())
记录限制=fields.Integer(默认值=10)
定义记录限制(自身):
返回自我记录\u限制
我希望我可以通过设置record\u limit
字段的数量来调整o2m字段的显示数量
例如,如果我没有设置记录限制,o2m总是在列表中显示10条记录。如果我将其设置为20,o2m可以显示20条记录
但我有一个错误:
File "D:\odoo\odoo11_boshown\odoo-11.0\odoo\models.py", line 1481, in search
res = self._search(args, offset=offset, limit=limit, order=order, count=count)
File "D:\odoo\odoo11_boshown\odoo-11.0\odoo\models.py", line 3810, in _search
limit_str = limit and ' limit %d' % limit or ''
TypeError: %d format: a number is required, not function
如何动态设置此限制?您不能在odoo中设置One2many字段的动态限制。 您可以使用默认方法显示特定记录。 如果可以为显示记录提供大量记录,则只有两种方法。 否则,您可以在One2many字段记录中为应用筛选器添加默认方法或使用域 在代码中,您错误地使用了limit属性。 limit属性只接受整数值或数字。但你想通过考试