クエリを実行するときに db にいつ触れるのか疑問に思っています。より正確には、クエリがいつ実行されるか:
私はこのkwargs dicを持っています:
kwargs = {'name__startswith':'somename','color__iexact':'somecolor'}
しかし、クエリのためだけにname__startswith
、私はする必要がありますdistinct()
. ではありませんcolor__iexact
。
私は、次のように in ループを設定すると思いましname__startswith
たdistinct()
。
for q in kwargs:
if q == 'name__startswith':
Thing.objects.filter(name__startswith=somename).distinct('id')
次に、すべてを動的にクエリします。
allthings = Thing.objects.filter(**kwargs)
しかし、これはどういうわけか間違っています。私はここで2つの異なることをしているようです..
これら 2 つのクエリを動的に実行するにはどうすればよいですか?