Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
2 Replies
7385 Tampilan

I have been trying for days to fix this problem. Any help would be greatly appreciated:


I have a function:

class res_users(osv.osv):
_inherit="res.users"

def change_value(self,cr,uid)
self.write(cr,uid,uid,{'token1':'a'})
return True

I need to call this from an http.Controller class:

class something(http.Controller):

def call_users(self,data):
registry = openerp.modules.registry.RegistryManager.get('test')
cr=registry.cursor()
uid=request.session.uid
registry.get('res.users').change_value(cr,uid)

cr.close()

The whole thing executes without any issues and the function does get called and the write() function even returns True but no values are not written into the database! token1 field is still empty after execution.

I tried calling the change_value() from Javascript, and it works properly. I have no clue what's going on. Can anyone please help?

Avatar
Buang
Jawaban Terbai

Hi,

you need to write down your controller as like below. Might be helpful to you.

class res_users(osv.osv):

    _inherit="res.users"

    def change_value(self,cr,uid,context={})

        self.write(cr,uid,uid,{'token1':'a'})

        return True


class something(http.Controller):

def call_users(self,data):
     cr, uid, context = request.cr, request.uid, request.context
request.registry.get('res.users').change_value(cr,uid,context=context)
return True
Avatar
Buang
Penulis Jawaban Terbai

Thank you ! I would never have got it. The problem, as you pointed out, was with the way I was using registry. I should not be assigning it the way I did, but use it through request.registry.

I still have no idea what the difference is. Could you please throw some light on what the concept is here or where I can read about it?

Thanks again !

Avatar
Buang

In your code only the issue with cr = registry.cursor(). It is created new cursor and you have done your process with that new cursor. And also your cursor is closed before your method ends. thats it.

Penulis

Oh ok. Yes, that makes sense. Thanks for clearing that up.

Post Terkait Replies Tampilan Aktivitas
1
Mar 15
10095
3
Jul 25
8579
1
Jun 25
2208
2
Jun 25
533
1
Mei 25
877