我创建了一个使用django-rest-framework的应用程序。问题是在生产中有大量数据时,HTML页面的呈现会超时。我认为,这是由代表模型select
的{{1}}字段引起的,当所有生产数据都可用时,这些字段需要很长时间才能呈现。什么是最恰当的防止这种情况的方法?
答案 0 :(得分:1)
据我所知,问题在于加载了大量商品的selectbox。 django管理员使用的解决方案是使用" raw_id_fields"对于包含大量项目的选择域(或外键)。
不幸的是,DRF目前还不支持Raw ID字段。但是,您可以使用自动填充字段实现类似的方法。目前还没有内置支持,但您可以使用DRF的官方文档中描述的一些外部包:http://www.django-rest-framework.org/topics/browsable-api/#autocomplete
答案 1 :(得分:0)
您应该使用select_related()
/ prefetch_related
queryset方法来获取相关对象,这些对象会填充您的选择。发布模型,序列化器和查询集,以便我们做出真实的例子。