私はdjangoのnewbです。クエリーセットが値を返すかどうかをチェックし、そうでなければ、ループ内の次の項目にスキップする必要があります。私は試してみました.. 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に2回、1回カウントした後にcount> 0、2回目に目的のレコードを取得しなければならないと思いませんか?見ている限り、彼は試しを必要としません...ブロックを除き、ティミーが言ったように続きます。 –