Django-模拟管理界面的搜索/过滤
我有一个简单的Django视图,显示对象列表。我希望用户能够搜索/过滤/排序等对象列表。管理界面在默认情况下的工作方式(所有这些都已启用)正是我想要的 在Django有什么简单的方法可以做到这一点吗?或者有没有第三方插件可以帮我?还是我一直在手工编写所有代码Django-模拟管理界面的搜索/过滤,django,admin,Django,Admin,我有一个简单的Django视图,显示对象列表。我希望用户能够搜索/过滤/排序等对象列表。管理界面在默认情况下的工作方式(所有这些都已启用)正是我想要的 在Django有什么简单的方法可以做到这一点吗?或者有没有第三方插件可以帮我?还是我一直在手工编写所有代码 我觉得这是许多其他人以前肯定遇到过的问题,那么最简单(也是最少冗余)的方法是什么呢?您可以通过Javascript对对象进行排序,也可以在服务器上对对象进行排序 javascript是有限制的,因为在大量对象分页的情况下,您只能对当前页面上
我觉得这是许多其他人以前肯定遇到过的问题,那么最简单(也是最少冗余)的方法是什么呢?您可以通过Javascript对对象进行排序,也可以在服务器上对对象进行排序 javascript是有限制的,因为在大量对象分页的情况下,您只能对当前页面上的内容进行排序 最简单的方法是在服务器端对记录进行排序,并允许用户通过GET参数选择排序;差不多
http://mydomain.com/path/to/view/?sort=asc
然后在您看来(这是非常粗糙的,不应该是您实现它的方式):
您可以将相同的逻辑应用于筛选,尽管(在我看来)如果您要更改实际的queryset(返回的对象),那么筛选应该通过URL实现,而不是通过GET参数实现(GET参数只影响返回结果的顺序)
def myview(request):
...
# Check if the user has provided a 'sort' parameter, and check what it is
if request.GET.get("sort", None) is "asc":
results = SomeModel.objects.get(...).order_by("-name")
...