Django Admin:如何在特定范围值的整数字段上进行过滤 [英] Django Admin: How do I filter on an integer field for a specific range of values

查看:531
本文介绍了Django Admin:如何在特定范围值的整数字段上进行过滤的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在Django Admin中创建一个过滤器,以仅显示整数值位于两个值之间的记录?例如,如果我有一个具有age属性的模型Person,而我只想显示年龄在45到65之间的Person记录。

How do I create a filter in Django Admin to only display records where an integer value lies between two values? For example, if I have a model Person, which has an age attribute, and I only want to display Person records where age is between 45 and 65.

推荐答案

您可以使用 queryset()过滤字段一些这样的功能...我已经使用了 SimpleListFilter

You can Filter the field some what like this by using queryset() Function ... I had used SimpleListFilter

    def queryset(self, request, queryset):
        filt_age = request.GET.get('parameter_name')
        return queryset.filter(
                    age__range=self.age_dict[filt_age]
                )

并在 lookups()中创建dict,并返回它根据年龄

And create dict in lookups() and return it According to the age

    def lookups(self, request, model_admin):
    return [
        (1, '5-21'),
        (2, '22-35'),
        (3, '35-60')
    ]

这篇关于Django Admin:如何在特定范围值的整数字段上进行过滤的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆