2016-04-20 2 views
0

mir helfen? I Domain many2one Feld wollen, wo id in anderen TransaktionErhöhung Typeerror (repr (o) + "ist nicht JSON serializable

@api.multi 
@api.onchange('batch_id') 
def _onchange_batch_id(self): 
    if self: 
     tempt=[] 
     for record in self: 
      tempt.extend([record.batch_id]) 

     culling = self.env['estate.nursery.cullinglinebatch'].search([('batch_id', '!=', list(tempt))]) 

     return { 
      'domain': {'batch_id': [('batch_id','not in',culling),('qty_abnormal','>',0)]} 

     } 

Antwort

2

In ODOO8/9 Suche Verfahren zeigen nicht immer wieder zurückkehrt nicht die Id des Objekts widersprechen.

culling = self.env['estate.nursery.cullinglinebatch'].search([('batch_id', '!=', list(tempt))]) 

Hier culling wird das Objekt des Modells 'estate.nursery.cullinglinebatch '

sollte Ihre Domain aussehen werden wie

'domain': {'batch_id': [('batch_id','not in',culling.ids),('qty_abnormal','>',0)]} 

hier ich habe culling.ids verwendet statt Culling.

Ich hoffe, das wird Ihnen helfen.

+0

Warum mein Feld many2one die Domäne nicht ausführen? –

+0

debug es auf diese Weise, fügen Sie Logger in _onchange_batch_id (vor der Rückkehr), holen Sie den Datensatz Ihrer Branche mit der gleichen Domäne, drucken Sie das Ergebnis erhalten nach Domäne im Protokoll – prakash