私はそのようなクエリを作成する必要があります:
similar_brokers_ = Profile.objects.filter(Q(tp=broker.tp) | Q(md=broker.md)).exclude(Q(id=broker.id))[:4]
tp
同じフィールドまたはmd
フィールドを持つ 4 つの同様のブローカーを取得する必要があります
したがって、このクエリはそれを行いますが、同じtp
フィールドを持つブローカーが最初に移動する必要があり、その後、同じmd
フィールドを持つブローカーに移動する必要があります。
どうすればもっとうまくできますか?
例えば :
broker1 with tp=1, md=100
broker2 with tp=2, md=100
broker3 with tp=1, md=99
に似たブローカーを取得しbroker1
ます: 最初にbroker3
( tp
=1 を使用) してからbroker2
( md
=100 を使用)