如何在管理模型中搜索django中用逗号分割的关键字?

时间:2014-07-20 15:39:15

标签: python django django-models django-admin

我想进行自定义搜索,以接受分隔的关键字,','像这个例子 enter image description here

我希望得到的结果分为两列[名称,状态],状态有两个值结果"存在"或"不存在",如何使用django和python

from django.contrib.admin.views.main import ChangeList
class UnsplitableUnicode(unicode):
    "An object that behaves like a unicode string but cannot be split()"
    def split(self, *args, **kwargs):
        return [self]

class MultiWordSearchChangeList(ChangeList):
    "Changelist that allows searches to contain spaces"
    def get_query_set(self, request):
        self.query = UnsplitableUnicode(self.query)
        return super(MultiWordSearchChangeList, self).get_query_set(request)


class TbldomainsPageAdmin(admin.ModelAdmin):
    list_display = ('name','status',)
    #raw_id_fields = ('name',)
    search_fields = ['name', ]
    def get_changelist(self, request, **kwargs):
        return MultiWordSearchChangeList

我在models.py中为搜索词编写了这个python代码而没有用逗号分割

1 个答案:

答案 0 :(得分:0)

在Django文档中非常清楚地表明search_fileds被空格分割。 因此,按照这个例子,目前无法搜索first_name正好是john winston'的所有记录。 (包含空格)。

您可以查看here

也许您必须修改Django的源代码才能自定义搜索表单。