all_QS に追加する属性をテンプレートに表示するのに苦労しています。
次のようなマネージャーがいます。
def created_by(self, _userProfile, dateGt=None, dateLt=None):
results = self.filter(creator=_userProfile, ...) //Some QS here
for result in results:
result.finished = "It works!"
for result in results:
print result.finished
return results
これはコンソールに表示されます: (2 つのイベントがあります)。forループを終了した後もデータがまだそこにあることを確認するために、デバッグとして二重のforループを実行しました。
It works!
It works!
そして、私はマネージャーに電話しています:
events = Event.manager.created_by(some stuff here).order_by('-id')
そして、奇妙な部分: 上記の行の結果をテンプレートに渡し、次のように表示します。
{% for event in all_events %}
<li><a href="{% url "edit_event" event_id=event.id %}">{{ event.title }} Finished:{{ event.finished }}</a></li>
{% empty %}
<em>{% trans "NOTHING" %}</em>
{% endfor %}
そして、すべて(タイトル、IDなど)が表示されますが、「完成」部分は表示されません。
それはどこから来るのでしょうか?読みやすくするためにコードをトリミングしましたが、ここで削除したものは関係ないと思います。
ありがとう!
編集:
これがビューです(stackoverflow 4スペースのため、奇妙なインデントです)
def homepage(request):
variables = {}
if request.user.is_authenticated():
datenow=datetime.now()
me = request.user.get_profile()
variables['all_events'] = Event.manager.created_by(me).order_by('-id') [:20]
context_instance = RequestContext(request)
template_name = "common/homepage.html"
return render_to_response(template_name, variables, context_instance)