Skip to Content
Menu
This question has been flagged
1 Reply
3599 Views

I want to create a computed field, wich multiplies two different field values :

The first field value is on the current record.

The second field value is on another record (on the same model), and then should be searched, and retrieved, following some conditions.

(I'm trying to get two values for the same field, but on two different records, of course because the field value changes from a record to another)

Here is my code :


from openerp import models, fields, api
class SurveyUserInputLine(models.Model):
     _inherit = 'survey.user_input_line'
    percentage_row = fields.Float('Atteinte objectif', compute='_compute_percentage_row', store=True)
   
     @api.multi
    @api.depends('value_number','user_input_id','value_suggested_row','col_label')

     def _compute_percentage_row(self):
        for record in self:
            if record.col_label == 'Pondera':
                pond = record.value_number
                id_token = record.user_input_id.token
                row_value = record.value_suggested_row.id
                domain = [('col_label','=','Resultat'),('value_suggested_row.id','=', row_value),('user_input                 _id.token','=', id_token)]
                result = self.search(domain).value_number
                record.percentage_row = float(result*pond)/100

My problem is on the line in bold, it doesn't retrieve anything, the domain seems correct.

Maybe there is another way to achieve my query.

For further informations, it's on the survey_user_input_line object, and I'm trying to do the multiplication of two values but not on the same record.

Thanks for your help, I'm blocked ...

Avatar
Discard
Best Answer
Hi,

Try replace the bold line with the following code :
result = self.env['survey.user_input_line'].search(domain)
if result :
result = result.value_number
else :
result = 0
Hope that answers the question.
Vote if you find it useful.
Avatar
Discard
Related Posts Replies Views Activity
0
Mar 15
3456
2
Sep 23
8063
1
Feb 22
4747
2
Dec 19
5163
2
Jul 19
1747