无法将 Django 两个对象数组中的项目 ID 与 if 条件匹配

Posted

技术标签:

【中文标题】无法将 Django 两个对象数组中的项目 ID 与 if 条件匹配【英文标题】:Can't match item ids in Django two objects array with if condition 【发布时间】:2019-01-02 12:04:12 【问题描述】:

我的查询集代码在视图中

'seats': Seats.objects.filter(bus=bid).order_by('seat_name'),
'booking': Booking.objects.filter(schedule=sid),

如果模板中有条件代码

% for seat in seats %
% for book in booking %
% if seat.id == book.seat_id %
match: seat.id ==  book.seat_id<br>
% else %
<input type="checkbox" name="checks[]" value=" seat.id ">  seat.seat_name  seat.seat_no 
% endif %
% endfor %

我需要禁用已预订的座位,但 Django 系统无法检查条件并显示所有座位。

【问题讨论】:

django 给出正确的输出,显示你的模型和视图 【参考方案1】:

我看到有一个 endfor,我不确定这是否是一个问题,或者你可以尝试类似 if seat.id in booking: (通过制作预订座位列表)或类似的东西删除第二个因为,它也会减少运行时间。

【讨论】:

以上是关于无法将 Django 两个对象数组中的项目 ID 与 if 条件匹配的主要内容,如果未能解决你的问题,请参考以下文章

无法拼接对象数组中的项目

根据匹配的 ID 合并两个数组中的项目

从 Django 中的 POST 请求中读取多维数组

如何通过 Django 中的模型属性之一对对象数组进行分组?

遍历一个数组,将每个项目添加到一个对象并将其推送到 Javascript 中的数组

django在读取数据库后返回的是一个对象,如何将对象中的字段(属性)读出?