让__unicode__出现在Django的搜索字段中

时间:2012-09-04 05:14:53

标签: django django-admin

我想根据班级__unicode__进行搜索。因此,我需要将类__unicode__显示在搜索字段中。

我试过了:

class ExampleAdmin(admin.ModelAdmin):
    search_fields = ['__unicode__',]

但是当我基于 unicode 进行搜索时,我收到此错误:

Cannot resolve keyword '' into field.

如何解决此错误?需要一些指导...

__unicode__方法如下所示:

 def __unicode__(self):
        return self.user.username + ' ' + self.firstname + ' ' + self.lastname + ' ' + self.email

2 个答案:

答案 0 :(得分:2)

你做不到。搜索在数据库级别完成,__unicode__不是数据库字段。

答案 1 :(得分:0)

您的模型的__unicode__方法有什么作用?

最有可能的是,它将一些精心挑选的模型字段组合成一个字符串以供显示。在这种情况下,合理的做法是将相同的字段放入search_fields,然后让数据库搜索这些字段。