我有一个很大的表格,目前大约有40万页,并且不断增长。管理员页面在试图查看时超时。我添加了一个分页器,但似乎没有帮助。如有任何建议,将不胜感激
class MyAdmin(admin.ModelAdmin):
...
paginator = LargeTablePaginator
...
class LargeTablePaginator(Paginator):
@property
def count(self):
query = self.object_list.query
if not query.where:
cursor = connection.cursor()
cursor.execute('SELECT reltuples FROM pg_class WHERE relname = %s', [query.model._meta.db_table])
return int(cursor.fetchone()[0])
我还尝试更新get_queryset方法,只返回前24小时的数据,但这也没有改善加载时间
def get_queryset(self, request):
return super(MyAdmin, self).get_queryset(request).filter(created_on__gte=datetime.datetime.today())
我的模型
class MyModel(models.Model):
class Meta:
db_table = "model_table"
name = models.CharField(unique=True, max_length=255, blank=True)
created_on = models.DateTimeField(auto_now_add=True, null=True)
content = models.CharField(max_length=512, blank=True)
目前没有回答
相关问题 更多 >
编程相关推荐