我正在运行一个Django网站,其中包含一个包含法律文件的小型mysql数据库(< 1000行,大约74mb,其中大部分将是文档内容)。
我编写的用于显示这些行和编辑文档的视图都可以在开发中使用runserver并使用mod_wsgi和apache进行生成。
但是,在dev和prod中列出这些文档的管理视图会导致内存使用在每次重新加载/刷新页面时逐步增加。我发现其中一些与文档相关的列表视图显示了这种行为。
我似乎可以确定根本原因是什么。我正在考虑在内存中加载的所有记录和相关记录。但列表视图不显示所有数据。
显示行为的最简单的管理员视图是:
@admin.register(RegulationFile)
class RegulationFileAdmin(admin.ModelAdmin):
"""RegulationFile model admin class."""
list_display = ("regulation", "imported_file")
如果规则是文档并且具有存储HTML的内容字段。这个html部分可能相当大,但我不明白为什么它会干扰这个管理视图。
我尝试将模型管理员更改为:
@admin.register(RegulationFile)
class RegulationFileAdmin(admin.ModelAdmin):
"""RegulationFile model admin class."""
list_display = ("get_regulation_name", "imported_file")
def get_regulation_name(self, obj):
return obj.regulation.name
但这并没有解决问题。
每页重新加载的内存增量约为100mb。有什么想法吗?