在Django Admin中保留过滤器

Tom*_*omo 5 python django django-admin

我想要达到的目的是:

  • 我去管理站点,将一些过滤器应用到对象列表
  • 我点击并对象编辑,编辑,编辑,点击"保存"
  • 网站将我带到对象列表中......未经过滤.我想记住并应用第1步中的过滤器.

有一个简单的方法吗?

Har*_*mbe 4

不幸的是,没有简单的方法可以做到这一点。过滤似乎没有保存在任何会话变量中。

单击返回两次是正常的方法,但如果您刚刚更改了一个对象,使其不再使用过滤器显示,则可能会很不方便且烦人。

如果只是一次性的话,点击返回两次或者再次进行过滤,这是最简单的方法。

如果您要更频繁地进行过滤,或者您只是想了解如何破解管理员(这是相当开放且简单的),您将需要编写一个FilterSpec

看看这里这里人们自己写的例子。

一个非常非常糟糕的方法是编辑管理界面,这样在您单击“保存”后,您将被重定向到过滤后的 URL。我根本不推荐这个,但这是一个选择。

另一种相当简单的方法是编写一个通用视图来显示过滤后的对象,然后使用 Django 表单从那里编辑项目。我看一下这个,您会惊讶地发现您只需编写很少的代码即可实现简单的查看/编辑页面。