[英]Dynamic Field selection in odoo
我如何定義動態選擇字段,用戶可以在其中添加未預定義的新項目,此代碼定義靜態選擇字段:
score:field.selection([('key1','value1').....],string='score'),
試試這個鏈接如何在odoo的選擇字段中添加過濾器,這里我已經發布了答案:
@api.model
def _get_room_type_list(self):
# [('meeting','Meeting Room'),('discussion','Discussion Room'),('auditorium','Auditorium'),('board','Board Room')]
vals=[]
for record in self.env['hotel.management'].search([]):
if record.roomuser in ['stpi','Incubation'] :
vals.extend([('meeting','Meeting Room'),('discussion','Discussion Room')])
if record.roomuser in ['both'] :
vals.extend([('auditorium','Auditorium'),('board','Board Room')])
return vals
roomType=fields.Selection(string="Room Type", selection=_get_room_type_list, default='meeting', required=True)
最好的選擇是創建一個many2one字段:
class yourmodule_score_rel(models.Model):
_name = 'yourmodel.score.rel'
name = fields.Char('Score')
在模塊的類中:
score_id = fields.Many2one('yourmodel.roles.rel', string='Score')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.