【发布时间】:2017-02-03 14:10:18
【问题描述】:
我有一个桌子房间,用户在其中保存房间。每个房间都有一个外键 "users_id",所以我知道哪个房间属于哪个用户。
我需要统计每个用户的所有房间并为我的管理仪表板显示数字。
我有一个解决方案,但感觉不正确。
我正在对所有房间和所有用户进行两次查询:
users = db_session.query(User).order_by(desc('id'))
rooms = db_session.query(Zimmer)
在我的 jinja2 中,我负责检查哪些房间属于哪个用户。我正在创建一个列表并为每个用户附加房间,然后我在列表变量上使用 jinja2 计数方法,我还必须创建附加变量display: none;:
{% for user in users %}
{% set total_rooms = [] %}
{% for room in rooms %}
{% if room.users_id == user.id %}
<span class="make-display-none">
{{ total_rooms.append(room) }}
</span>
{% endif %}
{% endfor %}
<p> Anzahl Objekte: {{ total_rooms|count }} </p>
{% endfor %}
它有效,但我觉得必须有更好的解决方案!
【问题讨论】:
标签: python sqlalchemy jinja2