0
說我有一個models.py像這樣:
class my_stackoverflow_question(models.Model):
feedback_choices = (
(GREAT, "Was a great question"),
(MEH, "Could've figured it out"),
(TERRIBLE, "I pity the foo"),
)
feedback = models.IntegerField(default=GREAT, choices=feedback_choices)
我search_indexes.py是這樣的:
class question_index(indexes.SearchIndex, indexes.Indexable):
text = ...stuff...
feedback = indexes.IntegerField(model_attr='feedback', faceted=True)
當我顯示上述方面時,整數值將通過模板顯示
{% for feed in facets.fields.feedback %}
{{feed.0}} - {{feed.1}}
{% endfor %}
# Shows: 0-999
# 1-1
# 2-0 ;)
我想要feed.0顯示實際的選擇值,如obj.get_feedback_display()會。所以,我想我會嘗試索引之前準備數據:
def prepare_feedback(self, obj):
return obj.feedback.get_feedback_display() #'AttributeError: 'long' object has no attribute 'get_feedback_display''
或 迴歸 「%s的」 %(obj.feedback.get_feedback_display())#Same錯誤如上
我會即使數據被索引爲整數,然後feed.0方面顯示名稱 - 但我相信方面字段直接來自索引而不是模型(這是否正確?)
如何可以我顯示facet的display_name而不是它的原始值?
謝謝!
天才!這完美的作品!謝謝 – ZAR