跳至内容
菜单
此问题已终结

I am trying to compute the days since of a book release date. while creating a new record, the code showing an error.

Something went wrong !
library.book(,).age_days

I would like to solve this problem using filtered(lambda function).

My code:
date_release = fields.Date('Release Date', copy=False)
age_days = fields.Float(string='Days Since Release', compute='_compute_age')

@api.depends('date_release')

def _compute_age(self): #self: library.book(,)

    today = fields.Date.today() #today: 2021-06-16
    for book in self.filtered(lambda x: x.date_release):
    delta = today - book.date_release
    book.age_days = delta.days

形象
丢弃
最佳答案

if you assign computed filed ' '/0 value to string you will get rid of this ..

in your case write after the today field 

self.age_days = 0


computed fields are make sure that the computed function assign value to field.. because computed function run every time even when record is creating so they create virtual memory for assigning computed value if they fail to assign value it will show warning  like this library.book('memory address here').age_days

for getting rid of this you have assign a value like for int field 0 or for char field empty string 

形象
丢弃

Hi,

Its not neccessary that assigning 0 value should be for the field of the current record.

It can be a empty variable too. ## Kinda proper code

最佳答案

Hi,

1. Newid error occurs when the compute field is not stored and When creating a record, the records of the recordset will be in memory only. At that time, the id of the record will be a dummy ids of type NewId

2. You need to assign empty Value before the Loop
    All the computed fields need to be assigned an empty value at least and its better if you use @api.mulit()

@api.mulit()
@api.depends('date_release')
def _compute_age(self):
    age_days = 0
    for book in self.filtered(lambda x: x.date_release):
        today = fields.Date.today()
        delta = today - book.date_release
        age_days = delta.days
        book.age_days = age_days

Thanks

形象
丢弃
相关帖文 回复 查看 活动
0
11月 21
4171
1
7月 21
7197
1
4月 17
4376
2
5月 22
9750
0
11月 21
4034