我正确显示了事件对象。但我似乎无法从python函数中获取结果并将其放入模板中。
例如,这是我的活动模型。
class Event(models.Model):
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
name = models.CharField(max_length=200)
location = models.CharField(max_length=200)
students = models.ManyToManyField(StudentProfile, null=True, blank=True)
managers = models.ManyToManyField(ManagerProfile, null=True, blank=True)
def __unicode__(self):
return self.name
def attendees(self):
return len(self.students.count + self.managers.count)
我可以成功地将所有内容都拉到我的模板中,除了与会者......例如在搜索环境中,我将事件作为结果传递...
{{ result.name }}
很好地传递到我的模板中,{{ result.location }}
也是如此。
但{{ result.attendees|length }}
不会显示。
知道为什么会这样吗?非常感谢帮助。
答案 0 :(得分:2)
您需要使用{{ result.attendees }}
(否|length
)。
length
过滤器适用于列表和其他迭代。你在那里做的是类似于应用len(len(something))
,这显然是错误的。