无法将 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 条件匹配的主要内容,如果未能解决你的问题,请参考以下文章