archetipo ha scritto:se poi ti serve fare gruppi particolari puoi aggirare le cose facendo override di read_group che è il metodo che viene chiamato.
Ciao archetipo,
grazie del consiglio.
Sto provando a fare quello che mi hai suggerito, ma non riesco a raggruppare i prodotti per seller_ids, o meglio ci riesco ma non ottengo il risultato desiderato.
Questo è il codice che ho scritto:
def read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False):
if 'seller_ids' in groupby:
seller_ids = self.pool.get('res.partner').search(cr, uid, [('supplier','=', True)], offset=0,limit=None, order='name', context=context, count=False)
res = [{
'__context': {'group_by': []},
'__domain': domain + [('seller_ids', 'in', suppl)],
'seller_ids': (self.pool.get('res.partner').browse(cr, uid, suppl).id, self.pool.get('res.partner').browse(cr, uid, suppl).name),
'seller_ids_count': self.search(cr, uid, [('seller_ids', 'in', suppl)], limit=None, context=context, count=True),
} for suppl in seller_ids]
return res + super(product_product, self).read_group(cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False)
return super(product_product, self).read_group(cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False)
nella tree view ho inserito il seller_ids tra le colonne.
Il risultato che ottengo è il seguente:
Group #
(2 records) 4
Ma vorrei ottenere il nome del fornitore al posto di (2 records)
Idee su dove sbaglio? Il codice che ho scritto per il read_group va bene?
Come faccio inoltre a tornare il raggruppamento per seller_ids insieme agli altri? Se nel return scrivo
return res + super(product_produc, self).read_group(...) mi esce con un errore.
Grazie in anticipo per qualunque aiuto.