Django 管理员按文本字段过滤列表
我需要根据文本字段过滤管理列表。我希望能够过滤查询集以查找 TextField 值为 Null 的所有对象。
我尝试了以下操作:
def filter_for_field(self, request, queryset):
queryset=queryset.exclude(field__isnull=True)
return queryset
我将其作为一种方法添加到我的 AdminModel 中,然后添加了属性“actions=['filter_for_field']。
我还尝试在没有 return 语句的情况下执行此操作,没有骰子。该操作显示在管理中但它没有删除 TextField 的空值对象,
我做错了什么?
有更好的方法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 自定义 FilterSpec 创建自定义管理过滤器的功能。它现在在 Django 的 SVN 版本中可用,并计划在 Django 1.4。
然后您需要将其传递到
ModelAdmin.list_filter
中:You can use the custom FilterSpec functionality to create custom admin filter. It is available in the SVN version of Django right now and planned for Django 1.4.
Then you need to pass it in
ModelAdmin.list_filter
: