im使用django-tables2 2来显示数据库查询中的值。一切都很好。我现在正在使用Django-dabug工具栏,并且正在用它查看我的页面。更多的是出于好奇而不是表现上的需要。当页面上有表时,我看到调试工具栏注册了300多个表的查询,其中有300多个条目。我不认为用这么多的查询淹没DB是一个好主意,即使没有任何性能影响(至少现在没有)。所有的数据应该只来自一个查询。
为什么会发生这种情况,以及如何减少查询的数量?
发布于 2016-10-05 19:49:37
我张贴这作为未来的参考,为我自己和其他谁可能有同样的问题。
搜索了一下之后,我发现django-tables2 2为每一行发送了一个查询。该查询类似于具有递增偏移量的SELECT * FROM "table" LIMIT 1 OFFSET 1。
在创建表和传递查询之前,我通过调用query = list(query)减少了sql调用的次数。通过计算python视图代码中的查询,该表现在似乎可以使用规避的数据,并且只有一个数据库调用而不是数百个。
发布于 2017-02-27 14:36:49
这是一个bug,并已在https://github.com/bradleyayers/django-tables2/issues/427中修复。
https://stackoverflow.com/questions/39882504
复制相似问题