Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
1 Odpowiedz
1297 Widoki

I get an error for forbidden opcode (s) when I run:



class TestComputed(models.Model):
  _name = "test.computed"
  x_quarter = fields.Char(string='Quarter', compute='_get_appraisal_quarter')
  @api.depends('create_date')
  def _get_appraisal_quarter(self):
    for row in self:
      createdate = datetime.strptime(row.create_date,'%d-%m-%Y')
      month = createdate.strftime('%m')
      year = createdate.strftime('%Y')
      if 0         row.x_quarter = 'Q1 ' + str(year)
      elif 4         row.x_quarter = 'Q2 ' + str(year)
      elif 7         row.x_quarter = 'Q3 ' + str(year)
      elif 10         row.x_quarter = 'Q4 ' + str(year)
      else:
        row.x_quarter = 'NA'
Awatar
Odrzuć
Najlepsza odpowiedź

Hi,

Please try using below code

class TestComputed(models.Model):

  _name = "test.computed"


    date_field = fields.Date(string='Date')

    quarter_date = fields.Char(string='Quarter and Year', compute='_compute_quarter')


    @api.depends('date_field')

    def _compute_quarter(self):

        for row in self:

            date = row.date_field

            if date:

                year = date.year

                month = date.month

                if month in (1, 2, 3):

                    row.quarter_date = 'Q1 ' + str(year)

                elif month in (4, 5, 6):

                    row.quarter_date = 'Q2 ' + str(year)

                elif month in (7, 8, 9):

                    row.quarter_date = 'Q3 ' + str(year)

                elif month in (10, 11, 12):

                    row.quarter_date = 'Q4 ' + str(year)

                else:

                    row.quarter_date = 'NA'

            else:

                row.quarter_date = 'NA'


Hope it helps

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
1
gru 19
6159
0
wrz 17
3769
3
wrz 24
1318
0
gru 23
1274
1
sty 23
2019