私は数時間前に質問を投稿しましたが、重複しているとマークされていましたが、ここで答えを見つけられませんでしたので、別の場所で見つけなければなりませんでした。複数のオプションのフィルタをDjangoで簡略化する
ここに質問があります: djangoの多くのオプションフィルタを簡略化する方法。たとえば: モデル= "some_rare_model"
if max_speed:
if year:
if color:
cars = Car.objects.filter(model=model,max_speed=max_speed,year=year,color__icontains=color)
else:
car = Car.objects.filter(model=model,max_speed=max_speed,year=year)
else:
if color:
cars = Car.objects.filter(model=model,max_speed=max_speed,color__icontains=color)
else:
cars = Car.objects.filter(model=model,max_speed=max_speed)
else:
if year:
if color:
cars = Car.objects.filter(model=model,year=year,color__icontains=color)
else:
car = Car.objects.filter(model=model,year=year)
else:
if color:
cars = Car.objects.filter(model=model,color__icontains=color)
else:
cars = Car.objects.filter(model=model)
どのようにコードを単純化するには?
非常に素晴らしい@adrian。非常に素晴らしい。私はあなたと同じ答えを書こうとしていました。行きたい! –