過去のチュートリアルでこれが行われたことをかすかに覚えています。ただし、現在ドキュメントで正確な方法を見つけるのに苦労しています。
Post というモデルがあるとします。このモデルには、timestamp というフィールドがあります。ただし、このモデルをテンプレートに送信する場合、タイムスタンプは気にしません。代わりに、タイムスタンプから推測できる、より人気のある "年齢" (X 分/時間前に作成されたもの) が必要です。
タイムスタンプ用にまったく新しいフィールドを作成する代わりに、カスタム テンプレート タグを使用する代わりに、テンプレートに送信する前に一時的にモデルにフィールドを追加することはできますか?
元。
# views.py
# Is the below code right? do I need to save()?
posts = Posts.objects.filter(...).filter(...)[:X]
for post in posts:
# Post does not have an age field, we are creating one
# temporarily before sending it to the template
post.age = some_function(post.timestamp)
return render_to_response(template, {'posts' : posts}, etc...)
ありがとうございました。