Ciao a tutti,
sono alle prime armi nello sviluppo di moduli OpenErp.
Non so se l'implementazione usata è quella corretta.
Chiedo aiuto per la seguente questione :
definite 2 classi
class A(osv.osv):
_name = "objectA"
_columns = {
'B_ids': fields.many2many ('objectB', 'objectAB_rel','A_id','B_id', 'Bid'),
'AOtherfield': ...
}
A()
class B(osv.osv):
_name = "objectB"
_columns = {
'A_ids': fields.many2many('objectA', 'objectAB_rel','B_id','A_id', 'Aid'),
'BOtherfield': ...
}
B()
- classe A relativa ai corsi
- B_ids gli studenti che frequentano il corso A_id
- classe B relativa agli studenti
- A_ids i corsi frequentati dallo studente B_id
ho definito una terza classe iscrizioni con un workflow per l'iscizione di uno studente in un corso.
Un bottone nella view relativa alla terza classe richiama una funzione che deve effetuare l'inserimento dello
studente nel corso dunque :
def action_iscrizione(self, cr, uid, ids, context=None):
iscr=self.browse(cr, uid, ids, context=context)[0]
stud_id=iscr.B_id.id
corso_id=iscr.A_id.id
stude_obj = self.pool.get('objectB')
corsi_obj = self.pool.get('objectA')
return True
come faccio a scrivere nel campo many2many A_ids dell'objectB o B_ids dell'objectA
se uso
stude_obj.write(cr, uid, stud_id, {'BOtherfield': valore}) riesco ad inseire valori negli altri campi del record relativo a stud_id
provato qcs simile a
stude_obj.write(cr, uid,stude_id, (0,0,{'A_ids': corso_id})) ma non funziona
premetto che l'inserimento tramite le view form relative ai due oggetti funziona perfettamente.
Grazie per le vostre risposte.