我是django的新手。我需要检查查询集是否返回任何值,如果不是,则跳到循环中的下一个项目。我试图尝试..除了ObjectDoesNotExist和那不工作。如果过滤器找不到任何东西,它会返回什么?我如何检查它?django - 检查过滤器是否返回查询集中的任何东西
这里的现有代码:
def assign_family_riders(leg):
remaining_leg_riders = list(leg.riders.all())
for car in CarAssignment.objects.filter(leg=leg):
driver_family = car.driver.family
try:
riders = leg.riders.all().filter(family=driver_family)
except ObjectDoesNotExist:
continue
for rider in riders:
car.riders.add(rider)
remaining_leg_riders.remove(rider)
return remaining_leg_riders
难道你不认为他必须击中数据库两次,一次计数,然后如果计数> 0,第二次检索所需的记录?据他所知,他根本不需要try ... except block,并且按照Timmy的说法。 –