Django:提供中间页面的动作......有100k行

gue*_*tli 7 django django-admin

我知道如何编写提供中间页面的动作,因为文档很棒:

https://docs.djangoproject.com/en/2.0/ref/contrib/admin/actions/#actions-that-provide-intermediate-pages

但是,如果我的选择包含100k行,则文档的模式不起作用,因为URL太长.

如何编写提供中间页面的Django Admin Actions,可以处理+10k行?

gue*_*tli 3

我是这样解决的:

  • Pickle 查询集
  • 将 pickled QuerySet 存储在缓存中的随机 ID 下
  • 将随机 ID 转发到下一页
  • 接下来的页面使用随机 ID 从缓存中读取 QuerySet。