### App Versions
```
{
“education”: “15.0.0”,
“erpnext”: “15.105.0”,
“frappe”: “15.106.0”,
“hrms”: “15.59.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 1760, in call
return fn(\*args, \*\*newargs)
^^^^^^^^^^^^^^^^^^^^
File “apps/frappe/frappe/handler.py”, line 340, in run_doc_method
response = doc.run_method(method)
^^^^^^^^^^^^^^^^^^^^^^
File “apps/frappe/frappe/model/document.py”, line 1014, in run_method
out = Document.hook(fn)(self, \*args, \*\*kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “apps/frappe/frappe/model/document.py”, line 1374, in composer
return composed(self, method, \*args, \*\*kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “apps/frappe/frappe/model/document.py”, line 1356, in runner
add_to_return_value(self, fn(self, \*args, \*\*kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^
File “apps/frappe/frappe/model/document.py”, line 1011, 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 44, 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.11/site-packages/pymysql/cursors.py”, line 151, in execute
query = self.mogrify(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File “env/lib/python3.11/site-packages/pymysql/cursors.py”, line 129, in mogrify
query = query % self.\_escape_args(args, conn)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “env/lib/python3.11/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.11/site-packages/pymysql/cursors.py”, line 104, in
return {key: conn.literal(val) for (key, val) in args.items()}
^^^^^^^^^^^^^^^^^
File “env/lib/python3.11/site-packages/pymysql/connections.py”, line 530, in literal
return self.escape(obj, self.encoders)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “env/lib/python3.11/site-packages/pymysql/connections.py”, line 523, in escape
return converters.escape_item(obj, self.charset, mapping=mapping)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “env/lib/python3.11/site-packages/pymysql/converters.py”, line 23, in escape_item
val = encoder(val, charset, mapping)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “env/lib/python3.11/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\”:\“2026-04-24 01:36:41.446890\”,\“modified_by\”:\“Administrator\”,\“docstatus\”:0,\“idx\”:\“0\”,\“get_students_from\”:\“Program Enrollment\”,\“doctype\”:\“Program Enrollment Tool\”,\“students\”:[],\”__onload\“:{\“academic_term_reqd\”:1},\”__last_sync_on\“:\“2026-05-15T09:21:44.229Z\”,\”__unsaved\“:1,\“program\”:\“YEAR 10\”,\“academic_year\”:\“2025 - 2026\”,\“academic_term\”:\“Year 2025 Semester 2\”,\“new_program\”:\“YEAR 11\”,\“enrollment_date\”:\“2026-01-05\”,\“new_academic_year\”:\“2026 - 2027\”,\“new_academic_term\”:\“Year 2026 Semester 1\”}”,
“method”: “get_students”
},
“headers”: {},
“error_handlers”: {},
“url”: “/api/method/run_doc_method”,
“request_id”: “1c862d61-a7db-4334-b95a-ae7253692e5c”
}
```
### Response Data
```
{
“exception”: “TypeError: dict can not be used as parameter”,
“exc_type”: “TypeError”,
“_exc_source”: “education (app)”
}
```