Django Admin:如何过滤特定值范围的整数字段

Fun*_*der 7 django django-admin django-admin-filters

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

zsq*_*are 0

我只是想要列表视图的过滤版本,您可以通过链接访问该视图(例如在列表视图中),例如要仅查看模型的相关项目,您可以执行以下操作:

def admin_view_receipts(self, object):
    url = urlresolvers.reverse('admin:invoice_%s_changelist'%'receipt')
    params = urllib.urlencode({'invoice__id__exact': object.id})
    return '<a href="%s?%s">Receipts</a>' % (url, params)
admin_view_receipts.allow_tags = True
admin_view_receipts.short_description = 'Receipts'
Run Code Online (Sandbox Code Playgroud)

这将带您进入“收据”的列表视图,但仅限那些链接到所选发票的收据。

如果您想要一个显示在侧边栏中的过滤器,您可以尝试这个片段这个