跳至內容
選單
此問題已被標幟
1 回覆
6207 瀏覽次數

I have created a button in the module, i want users to be registered using the button. I have used self.ensure_one (), but it does not seem to be working (Users are able to register multiple times using the button, the same record is being generated multiple times). Here is the code for that, Please let me know the correction.

@ api.multi 
def action_generate_event_registration (self, event): 
"" "Generate an event registration." "" 
self.ensure_one () 
partner_id = event.pop ('partner_id', self.env.user.partner_id) 
er = self. env ["event.registration"] 
for s in self: 
s.event_registration_id = er.create ({
"event_id": s.id,
"partner_id": partner_id.id, 
"name": event.get ('name', partner_id.name), 
"email": event.get ('email', partner_id.email), 
"phone": event.get ('phone', partner_id.phone)
})        ​
頭像
捨棄
最佳答案


self.ensure_one ()  ensures that theres only one record in recordset
頭像
捨棄

in self u have only one record set from that buttons model of current record

use different logic

please check the documentation for ensure one

https://www.odoo.com/documentation/8.0/reference/orm.html

Really helpful !!!

Thanks

相關帖文 回覆 瀏覽次數 活動
0
9月 21
5726
0
11月 19
3392
0
8月 19
3681
7
8月 20
35946
0
12月 19
2723