幾小時前我發佈了一個問題,它被標記爲重複(它不是),我在這裏找不到我的答案,所以我必須在其他地方找到它。在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。非常好。我正準備和你一樣寫出同樣的答案。去的路! –