I am using odoo 9. When a new row is added in a tree view and before the "Save" button is clicked, is there any way I can get the id of this new row/record. self.id always returns False, it is of type NewId.
If this is not possible, is there anyway I can differential a row from another in the same tree view. For example, there are 2 new rows/records created before clicking the "Save" button. How can I identify row 1 from row 2 if both id is NewId???
Can someone share codes on how to do this.
self.id is returning false because it is defined only after creation. An alternative idea to get the id before saving is find the last id of the models and calculate the next one.
search_ids = self.pool.get('your.model').search(cr, uid, )
last_id = search_ids and max(search_ids)
It gives the last id of that model, you will get the next id by simple addition by one. And I think you can't create all rows at a time. It is one by one process(In code).
I think it may help you
To get the Id of the new Record You can call Create function and call super the returning value will be the new id like
res = Super.(Class_name,Self).create(vals)
#res is your new record id
#make your modification here check the field valuesand comparisons here from vals and then return id
Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!
About This Community
|Asked: 11/8/16, 1:00 AM|
|Seen: 180 times|
|Last updated: 11/10/16, 10:52 AM|