İçereği Atla
Menü
Bu soru işaretlendi
3 Cevaplar
635 Görünümler

Hello everybody

I need to add python code for my field:

I'd like a boolean_toggle field that is set to true if warranty date - current date is less than 2 years.

can you help me?


because I have some errors with


for record in self:

        

            if datetime.now().date() - record.x_studio_date_achat_apisolis


                record['x_studio_garantie'] = True


            else:


                record['x_studio_garantie'] = False


thanks


Avatar
Vazgeç
En İyi Yanıt

Hello  Mélanie ,

First of all you can't compare instances of 'datetime.timedelta' and 'int'


to get number of years between two dates try this:

date_diff= dateutil.relativedelta.relativedelta(record.date1, record.date2)

years = date_diff.years

Avatar
Vazgeç
Üretici En İyi Yanıt

same thing

RPC_ERROR

Odoo Server Error

Traceback (most recent call last):

  File "/home/odoo/src/odoo/saas-16.4/odoo/safe_eval.py", line 243, in test_expr

    code_obj = compile(expr, filename or "", mode)

  File "", line 5

    if datetime.now().date() - record.x_studio_date_achat_apisolis

                                                                  ^

SyntaxError: expected ':'


The above server error caused the following client error:

null

Avatar
Vazgeç
En İyi Yanıt

Hello, 

Try to add the field x_studio_garantie  in your depencies list (separated by a comma) . 

Marc 

Avatar
Vazgeç