many2one field.but을 작성해야합니다. 함수 내 논리대로 데이터를 필터링해야합니다. OpenERP ver 7에서 이것을 구현하는 방법은 무엇입니까? res.users와 many2one 필드를 USER_ID 확인함수가있는 OpenERP many2one 필드
def _get_users(self, cr, uid, ids, field_name, arg, context=None):
res = {}
users_list=[]
officer_ids = self.search(cr, uid , 'bpl.officer', [('is_user', '=', True)])
officer_obj = self.browse(cr, uid, officer_ids, context=context)
for record in officer_obj:
users_list.append(record.user_id.id)
user_obj = self.pool.get('res.users')
for data in self.browse(cr, uid, ids, context=context):
res[data.id] = users_list
return res
_name = "bpl.officer"
_description = "Officer registration details"
_columns = {
'bpl_company_id':fields.many2one('res.company', 'Company', help='Company'),
'bpl_estate_id':fields.many2one('bpl.estate.n.registration', 'Estate', help='Estate', domain="[('company_id', '=', bpl_company_id)]"),
'bpl_division_id':fields.many2one('bpl.division.n.registration', 'Division', help='Division', domain="[('estate_id','=',bpl_estate_id)]"),
'name': fields.char('Name', size=128, required=True),
'is_user': fields.boolean('Is User', help="Is System user or not"),
'user_id': fields.function(_get_users, type="many2one",relation="res.users"),
그것은 있어야합니다 is_user가 res.users 객체에 정의 된 경우 유용합니다. 소스별로, 그것은 bpl.officer 객체로 정의됩니다. –
예, AnomA. 다른 클래스의 필드와 비교하는 레코드를 필터링해야합니다. 그럼 어떻게 구현해야합니까? –
http://stackoverflow.com/questions/6569828/how-to-create-a-dynamic-view-on-openerp이 게시물에 대한 답변을 확인하십시오. – OmaL