0

Event オブジェクトが正しく表示されています。しかし、Python 関数から結果を取得してテンプレートに配置することはできないようです。

たとえば、これは私の Event モデルです。

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 }}表示されません。

これはなぜですか?助けていただければ幸いです。

4

1 に答える 1

2

{{ result.attendees }}(いいえ)を使用する必要があります|length

フィルターはlength、リストやその他の iterable で機能します。そこで行っていることは apply に似ていますがlen(len(something))、これは明らかに間違っています。

于 2012-10-15T17:48:21.183 に答える