python - 存储在数据库 Flask 列上的多个变量
问题描述
我正在为运输公司开发一个应用程序,在客户页面上,我们可以添加送货之旅,这些送货之旅可以在不同的日期和时间安排:
例子:
计划于周一下午 4 点和周四上午 10 点进行送货之旅。
目前,我将其以 JSON 格式存储在我的 SQLAlchemy Delivery Tour 数据库中,如下所示:
{'星期一':10,'星期四':16}
但问题是,当我渲染 HTML 文件时,我无法成功地遍历 JSON 文件,并且无法将正确的日期和时间与正确的交付之旅相关联......
所以我想知道有没有更有效的方法来做到这一点?就像可能创建一个新表,但我不知道如何排列列。
编辑
我的 HTML:
<div class="card">
<div class="card-header-spe">
<p style="text-align:left;">
Delivery Tour
<span style="float:right;">
<a class=" card-category btn btn-primary" href="{{ url_for('deliver', client_id=client.id )}}">Add New</a>
</span>
</p>
</div>
<table class="table table-striped table-hover">
<thead>
<tr>
<th scope="col">Title</th>
<th scope="col">Description</th>
<th scope="col">Schedule</th>
<th scope="col">Driver</th>
</tr>
</thead>
<tbody>
<tr>
{% for deliv in delivery %}
<th scope="row">{{ deliv.title }}</th>
<td>{{ deliv.description }}</td>
<td >{{ deliv.schedule }} </td>
{% if deliv.driver_assigned %}
{% for d in driver %}
{% if d.id == deliv.driver_assigned %}
<td>{{d.first_name}}</td>
{% endif %}
{% endfor %}
{% else %}
<td></td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
</div>
解决方案
您已经具备了它的基础知识:
{% for day, hour in eval(deliv.schedule).items() %}
您必须执行 eval ,因为除非我错了,否则您将该列作为字符串存储在表中。
如果是我,我会为时间表创建一个表,并与您的 delivery_tour 表建立一对多的关系:(注意:将 schedule
列放在您的 delivery_tour 表上)
class TourSchedule(Base):
__tablename__ = 'tour_schedules'
id = Column(Integer, primary_key=True)
tour_id = Column(Integer, ForeignKey('delivery_tour.id'))
tour = relationship('DeliveryTour', backref='schedule')
day = Column(String(16))
hour = Column(Integer)
然后你可以像其他方式一样迭代它:
<td>
<ul style="list-style-type: none;">
{% for sched in deliv.schedule %}
<li>{{sched.day}}: {{sched.hour}}</li>
{% endfor %}
</ul>
</td>
推荐阅读
- android-room - 如何获取房间数据库中具有一对一关系的另一个表的行
- gcc - 在源代码树中使用 MPFR 构建 GCC 仅适用于 MPFR 3.1.0+
- javascript - 带有箭头功能的此关键字的上下文
- migration - 未找到 DataProtectorTokenProvider 构造方法
- python - AWS Lambda,超时重试,Python SDK
- sql - sas中的多参数宏
- spring-boot - Spring Data Elasticsearch:ElasticsearchRestTemplate 或 ElasticsearchRepository
- python - 在 VS Community 2019 内置终端中测试 Python 中的诅咒
- r - 无法通过 R(RODBC 包)连接到 SQL Server
- reactjs - 进行条带付款时出现禁止错误