0

使用 Django,我尝试使用对象表示法检索我的 HTML 中的值,但是当我尝试解析包含括号的引用时,我收到以下错误:

无法解析剩余部分:来自“table.seat_set.filter(occupied=True).count”的“(occupied=True).count”

这是有问题的 HTML 代码:

    <div id="tablelist">
        <p># of Tables: {{ event.table_set.count }}
        {% for table in event.table_set.all %}
        <p>Table {{ table.num }}: {{ table.seat_set.filter(occupied=False).count }} Seats Available</p>
        {% endfor %}
    </div>

如何在我的 HTML 中正确使用具有 () 的方法,例如过滤器?

4

1 回答 1

1

您不能在模板中执行查询集过滤器。您可能想要创建一个可以从模板调用的管理器,或者在模型上为可以调用的表创建一个属性。

例子

class Table(models.Model):
    #more fields

    @property
    def unoccupied_count(self):
        return self.seat_set.filter(occupied=False).count()

在模板中,

{{ table.unoccupied_count }}
于 2013-05-29T04:13:30.170 回答