2015-06-19 27 views
0

这是工作的罚款many2one场,所以我想“AREA_ID”hindu_data_super类应该在many2many或请让我知道我可以在一个区域中选择多个项目......我有many2one领域的域名过滤代码。如何为许多人做?

class hindu_desh(osv.Model): 
    _name="hindu.desh" 
    _description="Define districts" 
    _columns={ 'name':fields.char('District Name',size=64,required=True) } 
hindu_desh() 



class hindu_state(osv.Model): 
    _name="hindu.state" 
    _description="Define sub districts" 
    _columns={ 'name':fields.char('Sub District Name',size=64,required=True), 'hindu_state_id': fields.many2one('hindu.desh','District Name',select=True,required=True,ondelete="restrict") } 
hindu_state() 


class hindu_dist(osv.Model): 
    _name="hindu.dist" 
    _description="Define areas" 
    _columns={ 'name':fields.char('Area Name',size=64,required=True), 
     #'area_type': fields.selection(area_type_lov,'Area Type',required=True), 
     'hindu_state_id':fields.many2one('hindu.state','Sub District Name',size=64,required=True), 
      'district_id':fields.related('hindu_state_id','hindu_state_id',readonly=True,type='many2one',relation='hindu.desh',string='District Name'), 
} 

hindu_dist() 



class hindu_data_super(osv.Model): 
    _name = "hindu.data.super" 
    _description = "Area of Registration Super" 
    _columns = { 
     'district_id' : fields.many2one('hindu.desh','District', select=True, required=True, ondelete="restrict"), 
     'hindu_state_id' : fields.many2one('hindu.state', 'Sub District', domain="[('hindu_state_id', '=', district_id)]", select=True, required=True), 
     'area_id' : fields.many2one('hindu.dist', 'Area', domain="[('hindu_state_id', '=', hindu_state_id)]", select=True, required=True), 
    } 
hindu_data_super() 
+0

你想在** hindu.data.super **而不是many2one的many2many领域?想要设置area_id many2many?你可以请添加更多的描述与你想做的事情。这样有人可以给你更好的解决问题的建议。 –

+0

亚hindu.data.super我有area_id应该是many2many领域.becoz我想选择多个项目。所以这个领域应该在很多领域。我努力了 。我得到了内疚的错误。如果你有助于获得many2many域名过滤器选项,这将是伟大的 –

回答

0

我已经更改了字段结构,请检查并尝试它,并且hindu.data.super中的area_ids是fields.related,因此您将根据状态选择获取所有区域,如果您需要更多,我认为需要更多的工作。

class hindu_desh(osv.Model): 
    _name="hindu.desh" 
    _description="Define districts" 
    _columns={ 'name':fields.char('District Name',size=64,required=True) } 
hindu_desh() 


class hindu_state(osv.Model): 
    _name="hindu.state" 
    _description="Define sub districts" 
    _columns={ 
      'name':fields.char('Sub District Name',size=64,required=True), 
      'hindu_state_id': fields.many2one('hindu.desh','District Name',select=True,required=True,ondelete="restrict") } 
      'area_ids' : fields.one2many('hindu.dist','hindu_state_id','Areas') 
hindu_state() 


class hindu_dist(osv.Model): 
    _name="hindu.dist" 
    _description="Define areas" 
    _columns={ 
     'name':fields.char('Area Name',size=64,required=True), 
     'hindu_state_id':fields.many2one('hindu.state','Sub District Name',size=64,required=True), 
     'district_id':fields.related('hindu_state_id','hindu_state_id',readonly=True,type='many2one',relation='hindu.desh',string='District Name'), 
} 

hindu_dist() 



class hindu_data_super(osv.Model): 
    _name = "hindu.data.super" 
    _description = "Area of Registration Super" 
    _columns = { 
     'district_id' : fields.many2one('hindu.desh','District', select=True, required=True, ondelete="restrict"), 
     'hindu_state_id' : fields.many2one('hindu.state', 'Sub District', domain="[('hindu_state_id', '=', district_id)]", select=True, required=True), 
     'area_ids' : fields.related('hindu_state_id','hindu_state_id',readonly=True,type='one2many',relation='hindu.dist',string='Area',store=True), 
    } 
hindu_data_super() 
+0

我无法从area_id中选择任何项目..它显示的创建和编辑。 。我知道你是如何做到的area_ids [0] [2]和wt是super_id,hindu_dist_rel –

+0

我想我需要了解你的班级结构和你的目标,然后我会更新我的答案。 –

+0

请尽量让我这一个...我非常需要这个为我的acadamics项目 –