我是Django和Haystack的新手...我需要知道如何通過日期/時間戳排序搜索結果,最近的第一條。Django Haystack - 如何使用時間戳進行排序?
這裏是我的model.py:
class adsText(models.Model):
hash = models.TextField(primary_key=True)
title = models.TextField()
description = models.TextField()
country = models.TextField()
zone = models.TextField()
location = models.TextField()
date_inserted = models.DateTimeField()
class Meta:
db_table = u'ads_text'
managed = False
def __unicode__(self):
return self.title
我search_indexes.py:
class adsTextIndex(indexes.SearchIndex):
text = indexes.CharField(document=True, use_template=True)
title = indexes.CharField(model_attr='title')
description = indexes.CharField(model_attr='description')
zone = indexes.CharField(model_attr='zone')
location = indexes.CharField(model_attr='location')
date_inserted = indexes.DateTimeField(model_attr='date_inserted')
def index_queryset(self):
"""Used when the entire index for model is updated."""
return adsText.objects.order_by('-date_inserted')
#return adsText.objects.filter(date_inserted__lte=datetime.datetime.now())
site.register(adsText, adsTextIndex)
我的urls.py:
urlpatterns = patterns('',
(r'^search/', include('haystack.urls')),
)
我已經測試改變這條線的search_indexes.py中的代碼,但它不像預期的那樣工作:
return adsText.objects.order_by('-date_inserted')
我已閱讀,要走的路是用這樣的事情在urls.py:
sqs = SearchQuerySet().order_by('-date_inserted')
我懷疑是我怎麼能這個代碼添加到urls.py的「URL模式」 ,關於如何實現這一目標的任何線索?
最好的問候,
您可以在模型的元DEF添加順序:HTTPS ://docs.djangoproject.com/en/dev/ref/models/options/#ordering – danihp
嗨danihp。謝謝回覆。但它不起作用。 –
你有沒有嘗試:在元類上命令= ['-date_inserted']並且不起作用?這是奇怪的。 Perphaps乾草堆旁路訂購元模型。 – danihp