2015-05-27 27 views
5

Konu kimliklerini lecturer kimliğiyle ilgili modülüme yüklemek istiyorum. Api'yi aşağıdaki gibi kullanıyorum. Benim alanımda Etki alanı filtresindeki işlevi kullanma

ve etki alanı için

. Konu kimliği listesi iletiliyor. konuları bu kimlik listesine göre nasıl yükleyebilirim ....?

cevap

1

Etki alanı oluşturmak için onchange yöntemini kullanıyorsanız, xml'de herhangi bir etki alanı belirtmeniz gerekmez.

Böyle bir şey yapabilirsiniz:

@api.onchange('lecturer_id') 
def _onchange_lecturer(self): 
    res = {} 
    if self.lecturer_id: 
     sub_id =[] 
     a = [] 
     lecturer = self.lecturer_id.id 
     query = """select op_subject_id from lecturer_subject_rel where op_lecturer_id='%s'""" % lecturer 
     self.env.cr.execute(query) 
     a = self.env.cr.fetchall() 
     d = 0 
     for i in a: 
      e = i[0] 
      sub_id.append(e) 
      d += 1 
     res['domain] = {'subject_id': [('id', 'in', sub_id)]} 
    else: 
     res['domain] = {'subject_id': []} 
    return res 

Veya basitçe gerekli konu id hesaplamak ve sonra sahasında doğrudan kullanacağı fonksiyon alanını oluşturabilir.

P.S. ama kimliğinizi arayan kodunuz gerçekten garip görünüyor, neden böyle yaptığınızı bilmiyorsunuz.

İlgili konular