django - DRF DataTables GET 请求太长
问题描述
我正在使用 DRF 序列化模型,并将模型提供给端点。我正在使用 django-rest-framework-datatables 将该端点格式化为 JSON DataTables 所需的?format=datatables
. 我有一个要渲染的大型 DataTable,一旦达到一定数量的列,就会发生一个无法描述的 404 错误(https://datatables.net/manual/tech-notes/7)。ajax 数据的请求 URL 长度为 2k+ 个字符,我认为这是一个问题,因为它是一个 GET 请求。
我的查询字符串如下所示:
format=datatables&draw=1&columns%5B0%5D%5Bdata%5D=id&columns%5B0%5D%5Bname%5D=&columns%5B0%5D%5Bsearchable%5D=true&columns%5B0%5D%5Borderable%5D=true&columns%5B0%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B0%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B1%5D%5Bdata%5D=triggerDate&columns%5B1%5D%5Bname%5D=&columns%5B1%5D%5Bsearchable%5D=true&columns%5B1%5D%5Borderable%5D=true&columns%5B1%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B1%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B2%5D%5Bdata%5D=entities&columns%5B2%5D%5Bname%5D=entities.entityDescription&columns%5B2%5D%5Bsearchable%5D=true&columns%5B2%5D%5Borderable%5D=true&columns%5B2%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B2%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B3%5D%5Bdata%5D=analyticCategory&columns%5B3%5D%5Bname%5D=analyticCategory.analyticCategory&columns%5B3%5D%5Bsearchable%5D=true&columns%5B3%5D%5Borderable%5D=true&columns%5B3%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B3%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B4%5D%5Bdata%5D=analytic&columns%5B4%5D%5Bname%5D=analytic.analyticDescription&columns%5B4%5D%5Bsearchable%5D=true&columns%5B4%5D%5Borderable%5D=true&columns%5B4%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B4%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B5%5D%5Bdata%5D=risk&columns%5B5%5D%5Bname%5D=risk.risk&columns%5B5%5D%5Bsearchable%5D=true&columns%5B5%5D%5Borderable%5D=true&columns%5B5%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B5%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B6%5D%5Bdata%5D=logic&columns%5B6%5D%5Bname%5D=logic.logic&columns%5B6%5D%5Bsearchable%5D=true&columns%5B6%5D%5Borderable%5D=true&columns%5B6%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B6%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B7%5D%5Bdata%5D=description&columns%5B7%5D%5Bname%5D=&columns%5B7%5D%5Bsearchable%5D=true&columns%5B7%5D%5Borderable%5D=true&columns%5B7%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B7%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B8%5D%5Bdata%5D=disposition&columns%5B8%5D%5Bname%5D=&columns%5B8%5D%5Bsearchable%5D=true&columns%5B8%5D%5Borderable%5D=true&columns%5B8%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B8%5D%5Bsearch%5D%5Bregex%5D=false&order%5B0%5D%5Bcolumn%5D=0&order%5B0%5D%5Bdir%5D=asc&start=0&length=10&search%5Bvalue%5D=&search%5Bregex%5D=false&_=1554909043682
如果我删除一列(任何列),它会完美运行。
因为它是一个 REST API,我如何在不使用 POST 的情况下绕过这个限制?
解决方案
推荐阅读
- xamarin.forms - Xamarin.Forms:iOS 显示单词“detail”和“master”,而不是仅显示后退按钮和汉堡包。安卓运行良好
- visual-studio - 在 SSMS/Visual Studio 中禁用 Web 浏览器
- javascript - (Discord.JS) user.createdAt 属性问题
- kotlin - 反应式存储库仅适用于 block()
- java - 如何在 CXF Maven 插件中配置多个 .wsdl
- sml - 我可以用 Int64 创建一个数组吗?
- shopware - 在 shopware 6 中扩展索引块
- javascript - 将数组(对象)插入mysql数据库
- sql - SQL-SERVER:json 列上的 JSON_MODIFY 与“包含”字段匹配
- python - Python字典len()方法的时间复杂度