Как сделать фильтр в модели Django с помощью словаря, а не аргументов метода? Это то, что я прямо здесь:Модель фильтра Django по словарю
class StoreView(TemplateView):
def get(self, request):
# A bunch of gets
sort = request.GET.get('sort')
sort_price = request.GET.get('sort_price')
sort_mfr_method = request.GET.get('mfr_method')
# The params tpsort by
sort_params = {}
if sort is not None:
sort_params['sort'] = sort
if sort_price is not None:
sort_params['sort_price'] = sort_price
if sort_mfr_method is not None:
sort_params['sort_mfr_method'] = sort_mfr_method
# The Model Query
design_list = models.Design.objects.filter(sort_params)
# etc...
Бокового вопрос, есть ли лучший способ установить значение словаря, чем то, что я делаю выше? Например, тройной, но таким образом, чтобы ценность не существовала, если ее нет?
sort_params['sort'] = sort if not None else ''
http://stackoverflow.com/questions/15949816/ use-string-variable-kwargs-as-named-argument –