Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
4 ตอบกลับ
12101 มุมมอง

I'm trying to update context from within class DataSet(http.Controller) (web module)


I want the do_search_read method to change the context of the caller. However, although everything seems to be fine, the context is not updated.


Here's my code:


if model == 'mymodel':

     request.context['result_ids'] = [x.product_tmpl_id.id for x in Model.browse(aux)]

 

request.context is, indeed, updated but the caller's context remains the same.

อวตาร
ละทิ้ง
ผู้เขียน

NOTE: I've already tried the "antidote" to the "frozen dictionary" problem.

The code here is just that an example.

คำตอบที่ดีที่สุด

Hello Rui Franco

context is a frozen dictionary. so, we can not directly change.

you can try this.    

     request.with_context({'result_ids':[x.product_tmpl_id.id for x in Model.browse(aux)]})


Hope this help.

อวตาร
ละทิ้ง
ผู้เขียน

Thanks but it won't work:

AttributeError: 'JsonRequest' object has no attribute 'with_context'

คำตอบที่ดีที่สุด

ctx = dict (request.context)


ctx.update ({'bin_size': True})


request.context = ctx


Thats it!!

อวตาร
ละทิ้ง

ctx = (request.context.copy())

ctx.update(lang=ticket.partner_id.lang)

request.context = ctx

Related Posts ตอบกลับ มุมมอง กิจกรรม
0
ก.ค. 17
3206
0
มี.ค. 15
2936
2
มี.ค. 15
17153
0
ก.ย. 17
10681
2
ก.ค. 25
1300