Query when parameter is none django

前端 未结 5 1357
春和景丽
春和景丽 2020-12-31 09:50

I want to make a query, something like

Model.objects.filter(x=x).filter(y=y).filter(z=z) 

... but there are some cases when for example y

5条回答
  •  不知归路
    2020-12-31 09:54

    You can write:

    filters = {'x':'abc', 'y':None, 'z':2}
    # here we filter out the None values of the dict 
    filters = dict(filter(lambda (k, v): v is not None, filters.items()))
    
    # We use the dict to create the query
    qs = Model.objects.filter(**filters)
    

提交回复
热议问题