如何使用RelatedField快速使Django Rest Frameworks可浏览UI?
我知道这里已经提到了这个问题:Django REST Framework: slow browsable UI because of large related table但是答案不再适用于新版本的DRF
包含两个PrimaryKeyRelatedFields给我5s +加载时间,删除它们会让我回到.3
我已尝试设置html_cutoff=100
甚至html_cutoff=1
但似乎对加载时间没有任何影响。
有什么想法吗?目前在DRF'3.3.2'
编辑:涉及的表有12000到120条记录 - 但处理更大的金额会很棒
答案 0 :(得分:1)
自DRF版本3.4.4
以来,可以使用selected fields cutoffs限制显示的关系数量。
来自DRF文件:
在可浏览的API关系字段中呈现时,默认情况下仅显示最多1000个可选项。如果存在更多项目,则使用"超过1000个项目的禁用选项..."将会显示。
...
您还可以使用HTML_SELECT_CUTOFF和HTML_SELECT_CUTOFF_TEXT设置全局控制这些。
答案 1 :(得分:1)
这个问题与这个Django REST Framework: slow browsable UI because of large related table类似或重复。
本质上是 N + 1 问题,在Django上下文中,可以通过在prefetch_related()
上调用select_related()
或QuerySet
来急于加载数据来解决。选中此answare
答案 2 :(得分:0)
不是我正在寻找的答案,但目前看起来已经在github上有活动 - https://github.com/tomchristie/django-rest-framework/issues/3329运气不错,其中一个补丁很快就会合并