У меня есть приложение в flask, которое предназначено для отчета о коэффициентах удержания сотрудников. Я хочу разбить результаты по компаниям и по тем, работают ли они в настоящее время или нет, и я хочу сделать заказ по их коэффициентам удержания.
Я хочу повторить следующий sql запрос в sql алхимии, но у меня проблемы.
Вот в основном запрос sql, который я хочу создать в sql алхимии:
select * from staffmembers where currentEmployee=1 group by company order by retention desc;
А вот моя flask модель:
class StaffMember(db.Model):
__tablename__ = 'staffMembers'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.Text)
position = db.Column(db.Text)
company = db.Column(db.Text)
startDate = db.Column(db.DateTime)
endDate = db.Column(db.DateTime)
retention = db.Column(db.Integer)
currentEmployee = db.Column(db.Boolean, default=True, nullable=False)
user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
Мой текущий запрос sqlalchemy:
staff = StaffMember.query.filter_by(user=current_user).group_by(company).order_by(StaffMember.retention.desc()).all()
Проблема в том, что на странице моих отчетов отображается только один человек на компанию, а не все люди в этой компании с этими конкретными данными.
Мой html код:
{% for person in staff %}
<div class="myform-outercontainer">
<div style="width: 650px;">
<div style="height: 20px"></div>
<h3>Current Staff Members:</h3>
<table>
<tr>
<th style="width: 50px" class="my-center">ID</th>
<th class="my-center">Name</th>
<th class="my-center">Position</th>
<th class="my-center">Company</th>
<th class="my-center" style="width: 100px">Start Date</th>
<th class="my-center" style="width: 100px">Retention</th>
</tr>
<tr>
<td class="my-center">{{person.id}}</td>
<td class="my-center">{{person.name}}</td>
<td class="my-center">{{person.position}}</td>
<td class="my-center">{{person.company}}</td>
<td class="my-center">{{person.startDate.strftime("%d/%m/%Y")}}</td>
<td class="my-center">{{person.retentionNow()}}</td>
</tr>
</table>
</div>
</div>
{% endfor %}
Буду признателен за любую помощь! : -D