تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
3 الردود
4994 أدوات العرض

Hi Community,

 I use self.id inside of compute function that is returning me " <odoo.models.NewId object at 0x7fb107e35be8>".

- I want to get record's id.

Any idea?

Thanks in advance.


الصورة الرمزية
إهمال
أفضل إجابة
Yes in odoo already saved record in compute not have ID use _origin or ids
for example

الصورة الرمزية
إهمال
أفضل إجابة

Hi!

How does your compute function look and for which entity are you using it? It sounds like the function is called for a new entity before it has actually been saved, which means that it does not yet have an ID. In this case Odoo returns the NewId object you are observing.

If this is the case, your function should be called at a later point and/or there should be a fallback for the case of objects that do not have an ID yet by checking if the returned ID is numeric.

الصورة الرمزية
إهمال
الكاتب

already saved record shows the same error

This is impossible to diagnose without seeing your actual code.

أفضل إجابة

Hello,


If your record is saved then you will get current record using self._origin

الصورة الرمزية
إهمال
الكاتب

But its not working in compute function