App Versions
{
"education": "15.0.0",
"erpnext": "15.93.0",
"frappe": "15.93.0",
"hrms": "15.54.1"
}
Route
Form/Program Enrollment Tool/Program Enrollment Tool
Traceback
Traceback (most recent call last):
File "apps/frappe/frappe/app.py", line 120, in application
response = frappe.api.handle(request)
File "apps/frappe/frappe/api/__init__.py", line 52, in handle
data = endpoint(**arguments)
File "apps/frappe/frappe/api/v1.py", line 40, in handle_rpc_call
return frappe.handler.handle()
File "apps/frappe/frappe/handler.py", line 53, in handle
data = execute_cmd(cmd)
File "apps/frappe/frappe/handler.py", line 86, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File "apps/frappe/frappe/__init__.py", line 1754, in call
return fn(*args, **newargs)
File "apps/frappe/frappe/handler.py", line 336, in run_doc_method
response = doc.run_method(method)
File "apps/frappe/frappe/model/document.py", line 1011, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 1371, in composer
return composed(self, method, *args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 1353, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "apps/frappe/frappe/model/document.py", line 1008, in fn
return method_object(*args, **kwargs)
File "apps/frappe/frappe/utils/typing_validations.py", line 32, in wrapper
return func(*args, **kwargs)
File "apps/education/education/education/doctype/program_enrollment_tool/program_enrollment_tool.py", line 32, in get_students
students = frappe.db.sql(
File "apps/frappe/frappe/database/database.py", line 230, in sql
self._cursor.execute(query, values)
File "env/lib/python3.10/site-packages/pymysql/cursors.py", line 151, in execute
query = self.mogrify(query, args)
File "env/lib/python3.10/site-packages/pymysql/cursors.py", line 129, in mogrify
query = query % self._escape_args(args, conn)
File "env/lib/python3.10/site-packages/pymysql/cursors.py", line 104, in _escape_args
return {key: conn.literal(val) for (key, val) in args.items()}
File "env/lib/python3.10/site-packages/pymysql/cursors.py", line 104, in <dictcomp>
return {key: conn.literal(val) for (key, val) in args.items()}
File "env/lib/python3.10/site-packages/pymysql/connections.py", line 530, in literal
return self.escape(obj, self.encoders)
File "env/lib/python3.10/site-packages/pymysql/connections.py", line 523, in escape
return converters.escape_item(obj, self.charset, mapping=mapping)
File "env/lib/python3.10/site-packages/pymysql/converters.py", line 23, in escape_item
val = encoder(val, charset, mapping)
File "env/lib/python3.10/site-packages/pymysql/converters.py", line 30, in escape_dict
raise TypeError("dict can not be used as parameter")
TypeError: dict can not be used as parameter
Request Data
{
"type": "POST",
"args": {
"docs": "{\"name\":\"Program Enrollment Tool\",\"owner\":\"Administrator\",\"modified\":\"2024-10-23 20:41:55.668314\",\"modified_by\":\"Administrator\",\"docstatus\":0,\"idx\":\"0\",\"get_students_from\":\"Student Applicant\",\"doctype\":\"Program Enrollment Tool\",\"students\":[],\"__onload\":{\"academic_term_reqd\":1},\"__last_sync_on\":\"2025-12-29T08:58:51.623Z\",\"__unsaved\":1,\"academic_year\":\"2025\",\"program\":\"GRADE 9\",\"academic_term\":\"2025 (TERM 1)\"}",
"method": "get_students"
},
"headers": {},
"error_handlers": {},
"url": "/api/method/run_doc_method",
"request_id": null
}
Response Data
{
"exception": "TypeError: dict can not be used as parameter",
"exc_type": "TypeError",
"_exc_source": "education (app)"
}