我怎么能有2个依赖选择?

时间:2017-07-10 14:53:06

标签: openerp odoo-10

我如何处理以创建2个相关选择,我需要的是例如当我在第一个选择中选择一个国家时,在第二个选择中仅包含它属于该国家/地区的城市

这是我的第一个选择:



class CatParentCountries(models.Model):
    _name="cat.country"
    country = fields.Selection(
        selection=[
            ('country1', 'UAE'),
            ('country2', 'Canada'),          
        ], 
        required=True,       
    )
    
class CatCities(models.Model):
    _name="cat.cities"
    city=field.Char()




1 个答案:

答案 0 :(得分:0)

国家,州有odoo的模型。你可以参考......

  • 销售=>配置=>联系人=> 本地化=>国家
  • 销售=>配置=>联系人=> 本地化=>美联储。状态

与此相同,您可以通过定义这两个模型之间的关系来实现它。在状态模型中必须有Many2one(state_id)。与定义城市模型的方式相同。

Class res_city(models.Model):
    _name = 'res.city'
    name = fields.Char('City')
    state_id = fields.Many2one('res.country.state', 'State')

现在你需要在任何你想要的地方使用城市模型。 Xml文件应该看起来像

<field name="country_id" />
<field name="state_id" domain="[('country'_id','=',country_id)]" />
<field name="city_id" domain="[('state'_id','=',state_id)]" />
  

只需在字段中指定字段即可轻松完成。   但只有在模型中定义关系时才有可能。