2012-09-04 17 views
0

我想根據類的__unicode__進行搜索。因此,我需要上課的__unicode__出現在搜索字段。讓__unicode__出現在Django的搜索字段中

我嘗試這樣做:

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 
+1

作爲@DanielRoseman表示你不能這樣做,你可以做的就是查看Django的Q類來結合搜索ModelField的集合,https://docs.djangoproject.com/en/dev/topics/ DB /查詢/#複雜的查找,與-q-對象 –

回答

2

你不能做到這一點。搜索是在數據庫級完成的,並且__unicode__不是數據庫字段。

0

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

最有可能的是,它將幾個精心挑選的模型字段組合成一個字符串用於顯示目的。在這種情況下合理的做法是將這些相同的字段放入search_fields,並讓數據庫在這些字段上進行搜索。