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.