簡體   English   中英

odoo中的動態字段選擇

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM