I tried it but got and error. Please look .
Here is my onchange def :
def on_change_salle_de_classe_id(self,cr,uid,ids,salle_de_classe_id,context=None):
salle_de_classe = self.pool.get('schoolem.salle_de_classe').browse(cr,uid,salle_de_classe_id)
cours_obj = self.pool.get('schoolem.cours')
ids1 = cours_obj.search(cr, uid, [('niveau_id.id', '=', salle_de_classe.classe_id.niveau_id.id)])
ids2 = cours_obj.search(cr, uid, [('niveau_id.id', '=', salle_de_classe.classe_id.niveau_id.id),('specialite_id.id', '=', salle_de_classe.classe_id.specialite_id.id)])
if context is None: context = {}
# If there's a value in list1 now, empty list2.
res = {}
if salle_de_classe_id:
res['cours_id'] = False
return {'value': res}
#return {'domain':{'cours_id':[('id','in',ids1+ids2)]}}
#return {'value':{'cours_id':False},'domain':{'cours_id':[('id','in',ids1+ids2)]}}
but I got this error :
ProgrammingError: ERREUR: l'opérateur
n'existe pas : integer = boolean LINE
1: ....id FROM "schoolem_cours" WHERE
schoolem_cours.id IN (false)...
^ HINT: Aucun opérateur ne correspond
au nom donné et aux types d'arguments.
Vous devez ajouter des conversions
explicites de type.