我有這取決於搜索條件的過濾器查詢,動態物體過濾
有時是:
Thing.object.filter(name__startswith=word).distinct('id')
有時:
Thing.object.filter(city__startswith=word)
所以一切後.filter(
可以改變。有沒有辦法來動態設置它?
我有這取決於搜索條件的過濾器查詢,動態物體過濾
有時是:
Thing.object.filter(name__startswith=word).distinct('id')
有時:
Thing.object.filter(city__startswith=word)
所以一切後.filter(
可以改變。有沒有辦法來動態設置它?
如果「城市」和「名」是一個標準選擇的值,你可以做這樣的事情:
queryset = Thing.object.filter(**{'%s__startswith' % criteria: word})
if criteria_requires_distinct:
queryset = queryset.distinct()
謝謝,但有什麼不同? – doniyor
更新了答案 –
這是一個不錯的方法,我喜歡它。所以在'distinct()'後我會觸碰db兩次,對吧? – doniyor