Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
7568 Lượt xem

Im trying some website-programmings and want to display a specific page name on the frontend. Therefore I have the following code:

class wsga(http.Controller):
    @http.route('/hello/', auth="public", type='http', website=True)
    def hello(self, **kw):
        imd = request.registry['ir.model.data']
        iuv = request.registry['ir.ui.view']
        
        cr = request.cr

        view_id = imd.get_object_reference(request.cr, request.uid, 'wsga', 'wsga_test')
        view = iuv.browse(request.cr, request.uid, [('id', '=', view_id), ], context=None)
        
        view_result = []
        for v in view:
            view_result.append({
                'name': v.name,
            })

        return view_result

But the problem is, that this ends up in an SQL-Error in the for-loop. Problem is this query:

SELECT ir_ui_view."create_uid",ir_ui_view."create_date",ir_ui_view."name",ir_ui_view."inherit_id",ir_ui_view."arch",ir_ui_view."write_uid",ir_ui_view."priority",ir_ui_view."application",ir_ui_view."website_meta_description",ir_ui_view."website_meta_title",ir_ui_view."mode",ir_ui_view."write_date",ir_ui_view."id",ir_ui_view."website_meta_keywords",ir_ui_view."model",ir_ui_view."model_data_id",ir_ui_view."type",ir_ui_view."page",ir_ui_view."field_parent" FROM "ir_ui_view"
                        WHERE ir_ui_view.id IN (('id', '=', ('ir.ui.view', 704))) AND (TRUE)
                        ORDER BY priority,name

Problem ist the (('id', '=', ('ir.ui.view', 704))) which I think should be like this (704).

Can anyone help me to understand what went wrong?

Thank you!

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

hi,

you have to change the following line.

 view = iuv.browse(request.cr, request.uid, [('id', '=', view_id), ], context=None)

with new line below.

 view = iuv.browse(request.cr, request.uid, [('id', '=', view_id[1]), ], context=None)

Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

Thank you for helping. I tested this with return view_id[1] to see wat's the output. 
Sometimes you just can not get the simplest things.

Thank you very much!

Ảnh đại diện
Huỷ bỏ

Always your welcome :)

Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 10 24
1306
1
thg 6 20
5953
5
thg 7 18
6288
0
thg 3 15
4293
1
thg 12 24
3917