1
時沒有列例外,我有一個用戶配置文件搜索索引,就像這樣:Django的草垛和嗖:排序
class UserProfileIndex(SearchIndex, Indexable):
text = CharField(document=True, use_template=True)
last_name = CharField(model_attr='last_name', indexed=True)
country = CharField(model_attr='country')
sectors = CharField(use_template=True)
services = CharField(use_template=True)
def get_model(self):
return UserProfile
def index_queryset(self, using=None):
"""
Used when the entire index for model is updated."""
return self.get_model().public.all()
,我試圖用這個命令由姓氏字段進行排序:
s = SearchQuerySet().all().order_by('last_name')
我然後回來:
Exception: No column for field 'last_name'
我沒有問題做該領域的過濾器。
s = SearchQuerySet().filter(last_name='Smith')
工作正常。
我猜這是一個Whoosh問題,但我似乎無法找到解決辦法。
感謝您的支持。但這是一個奇怪的要求,尤其是當我正在進行的項目中有大約15個不同的索引時。 我最終從Whoosh移動到切換到Elastic Search作爲後端。似乎沒有這些類型的問題。另一個我發現的是Whoosh不會讓你使用.model()語法,你必須使用filter(django_ct ='')。 –
當我發現這個並剛剛完成項目時,我正要切換到彈性搜索。我覺得我用非常基本的查詢非常快速地達到了Whoosh的極限。我也遇到了.model限制。如果我進一步擴展我的項目,我會在繼續之前切換。 – pbaehr