私はそのようなクエリを作成する必要があります:
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 を使用)