我有這樣的查詢集:如何在渲染之前向查詢集結果添加額外的參數?
topics = Topic.objects.select_related('creator').filter(forum=forum_id).order_by("-created")
我想添加到每個話題,rendring到模板,一個額外的布爾字段is_unread
,這是基於另一個模型視圖計算之前。該字段不在主題模型中,應分別在視圖中爲每個request.user計算。
業務邏輯的僞代碼是這樣的:
for topic in topics:
if topic.lastposted > request.user.lastvisit.thistopic:
topic.is_unread = True
包含lastvist是這樣的模式:
class LastVisitedTopic(models.Model):
user = models.ForeignKey(User)
forum = models.ForeignKey(Forum)
topic = models.ForeignKey(Topic)
lastvisited = models.DateTimeField(auto_now=True)
當我打印出來topics
它提供了一堆的對象:
[<Topic: Topic object>, <Topic: Topic object>, <Topic: Topic object>, '...(remaining elements truncated)...']
所以我不知道如何將is_unread
追加到t下襬。所以感謝您的提示..
沒有你的代碼的工作? –
你的Django版本是什麼? – Gocht
@Gocht django 1.8 – supermario