저는 django에 newb입니다. queryset이 어떤 값을 반환하는지 확인하고 그렇지 않으면 루프의 다음 항목으로 건너 뜁니다. 나는 시도했다. .. 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
DB에 두 번 치지 않으면 안됩니다. 한 번 카운트 한 다음 count> 0 인 경우 두 번째로 원하는 레코드를 검색해야합니까? 멀리 볼 때, 그는 try ... except 블록을 제외하고 Timmy가 말한대로 따라야합니다. –