Skip to Content
Menu
This question has been flagged
4 Replies
3400 Views

creates = self.env['sale.order'].search([]) 

sum_amount = 0 

 for creat in creates: 

sum_amount += int(creat.amount_total) 

 docs.append({ 

 'name': creat.name,

 'create_date': creat.create_date,

 'state': creat.state, 

 'amount':creat.amount_total,

 'total_amount':sum_amount, })


Traceback (most recent call last):
File "C:\Users\My-PC\AppData\Local\Programs\Python\Python37-32\lib\site-packages\werkzeug\serving.py", line 303, in run_wsgi
execute(self.server.app)
File "C:\Users\My-PC\AppData\Local\Programs\Python\Python37-32\lib\site-packages\werkzeug\serving.py", line 291, in execute
application_iter = app(environ, start_response)
File "C:\code\odoo\odoo\service\server.py", line 409, in app
return self.app(e, s)
File "C:\code\odoo\odoo\service\wsgi_server.py", line 128, in application
return application_unproxied(environ, start_response)
File "C:\code\odoo\odoo\service\wsgi_server.py", line 117, in application_unproxied
result = odoo.http.root(environ, start_response)
File "C:\code\odoo\odoo\http.py", line 1318, in __call__
return self.dispatch(environ, start_response)
File "C:\code\odoo\odoo\http.py", line 1291, in __call__
return self.app(environ, start_wrapped)
File "C:\Users\My-PC\AppData\Local\Programs\Python\Python37-32\lib\site-packages\werkzeug\middleware\shared_data.py", line 220, in __call__
return self.app(environ, start_response)
File "C:\code\odoo\odoo\http.py", line 1486, in dispatch
result = ir_http._dispatch()
File "c:\code\odoo\addons\auth_signup\models\ir_http.py", line 19, in _dispatch
return super(Http, cls)._dispatch()
File "c:\code\odoo\addons\web_editor\models\ir_http.py", line 22, in _dispatch
return super(IrHttp, cls)._dispatch()
File "c:\code\odoo\addons\http_routing\models\ir_http.py", line 398, in _dispatch
result = super(IrHttp, cls)._dispatch()
File "c:\code\odoo\odoo\addons\base\models\ir_http.py", line 207, in _dispatch
return cls._handle_exception(e)
File "c:\code\odoo\odoo\addons\base\models\ir_http.py", line 177, in _handle_exception
return request._handle_exception(exception)
File "C:\code\odoo\odoo\http.py", line 774, in _handle_exception
return super(HttpRequest, self)._handle_exception(exception)
File "C:\code\odoo\odoo\http.py", line 312, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "C:\code\odoo\odoo\tools\pycompat.py", line 87, in reraise
raise value
File "c:\code\odoo\odoo\addons\base\models\ir_http.py", line 203, in _dispatch
result = request.dispatch()
File "C:\code\odoo\odoo\http.py", line 833, in dispatch
r = self._call_function(**self.params)
File "C:\code\odoo\odoo\http.py", line 344, in _call_function
return checked_call(self.db, *args, **kwargs)
File "C:\code\odoo\odoo\service\model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "C:\code\odoo\odoo\http.py", line 337, in checked_call
result = self.endpoint(*a, **kw)
File "C:\code\odoo\odoo\http.py", line 939, in __call__
return self.method(*args, **kw)
File "C:\code\odoo\odoo\http.py", line 517, in response_wrap
response = f(*args, **kw)
File "c:\code\odoo\addons\web\controllers\main.py", line 1672, in report_routes
html = report.with_context(context).render_qweb_html(docids, data=data)[0]
File "c:\code\odoo\odoo\addons\base\models\ir_actions_report.py", line 722, in render_qweb_html
return self.render_template(self.report_name, data), 'html'
File "c:\code\odoo\odoo\addons\base\models\ir_actions_report.py", line 505, in render_template
return view_obj.render_template(template, values)
File "c:\code\odoo\odoo\addons\base\models\ir_ui_view.py", line 1284, in render_template
return self.browse(self.get_view_id(template)).render(values, engine)
File "c:\code\odoo\addons\web_editor\models\ir_ui_view.py", line 27, in render
return super(IrUiView, self).render(values=values, engine=engine, minimal_qcontext=minimal_qcontext)
File "c:\code\odoo\odoo\addons\base\models\ir_ui_view.py", line 1293, in render
return self.env[engine].render(self.id, qcontext)
File "c:\code\odoo\odoo\addons\base\models\ir_qweb.py", line 59, in render
result = super(IrQWeb, self).render(id_or_xml_id, values=values, **context)
File "c:\code\odoo\odoo\addons\base\models\qweb.py", line 274, in render
self.compile(template, options)(self, body.append, values or {})
File "c:\code\odoo\odoo\addons\base\models\qweb.py", line 353, in _compiled_fn
raise QWebException("Error to render compiling AST", e, path, node and etree.tostring(node[0], encoding='unicode'), name)
odoo.addons.base.models.qweb.QWebException: list indices must be integers or slices, not str
Traceback (most recent call last):
File "c:\code\odoo\odoo\addons\base\models\qweb.py", line 346, in _compiled_fn
return compiled(self, append, new, options, log)
File "<template>", line 1, in template_741_106
File "<template>", line 2, in body_call_content_105
TypeError: list indices must be integers or slices, not str

Error to render compiling AST
TypeError: list indices must be integers or slices, not str
Template: 741
Path: /templates/t/t/div[3]/div/div[2]/ul/span
Node: <span t-esc="docs['total_amount']"/> - - -


I tried calculator all values from sale.order.But have error 
How to fix it? Please help me
Thanks

Avatar
Discard
Best Answer

Problem is in your for loop. You search search all sales order in creates variable. Then you are using create  variable in for loop which is sale order. Your second loop is incorrect. You again looping sale order amount in i variable. you can directly use create.amount_total and add that in your sum_amount.

If you want sum of all searched sale order, then sum_amount variable should be before the first loop. It's depends on your requirement and logic.

Avatar
Discard
Best Answer

Hi.

Seems there is issue with what you have done, you have already iterated the creates over the for loop. Then why to again iterate the creat.amount_total over a for loop ? creat.amount_total will have a value like 4.02 or 5.6 etc, and float value. What is the use of iterating a float value over the for loop ?

So what you can do is that, remove the for loop which you tries to iterate the create.amount_total and update the code based on the logic.

Thanks

Avatar
Discard
Author Best Answer

@everyone I changed. But have new error. Pls help me. Thanks :D

Sorry everyone about format code. I can't change this 

Avatar
Discard
Best Answer

Hello,

You can change in this  sum_amount += i line. Maybe your problem solve. 

Thanks. 


Avatar
Discard
Related Posts Replies Views Activity
0
Aug 19
2083
3
May 24
588
2
May 23
1614
0
Mar 22
1528
1
May 20
2655