1

私はこのクエリを持っています

Location.objects.filter(locations_rate__rate=search_rate).distinct('id')

どのように設定できdistinct()ます**kwargsか?

私は試した:

s_kwargs = {}
s_kwargs['locations_rate__rate'] = request.GET.get('rate')

しかし、どこに設定すればよいかわかりdistinct('id')ませんか?locations_rate__rate私はこれ以外にも多くのフィルターを持っていif locations_rate__rate in s_kwargsますdistinct()

4

1 に答える 1

1

**kwargs単なる辞書です。

できるよ:

def myView(request, *args, **kwargs):
    #Code here.
    distinct = kwargs.pop('distinct') #the distinct parameter(s) {'distinct': 'rate'}
    #verification and validation of distict
    Location.objects.filter(locations_rate__rate=search_rate).distinct(distinct)
    #I assumed only 1 distinct argument

    ...

動的パラメータが必要な場合は、

params = {'rate': distinct} #where distinct is distinct = kwargs.pop('distinct')
things = Thing.object.filter(**params)
于 2013-05-20T13:54:40.333 に答える