所以我目前正在試圖改善代碼的項目。使用for或if循環過濾
目前,我有這個作爲我的views.py
def home1(request):
if request.user.is_authenticated():
location = request.GET.get('location', request.user.profile.location)
users = User.objects.filter(profile__location=location)
print users
matchesper = Match.objects.get_matches_with_percent(request.user)
print matchesper
matches = [match for match in matchesper if match[0] in users][:20]
目前,用戶給我回的是具有相同的位置request.user和matchesper給了我一個匹配百分比與所有的用戶列表用戶。然後匹配使用這兩個列表來給我一個用戶名單與他們的匹配百分比,並與request.users位置
這工作完美,但儘快使用該網站的用戶數量增加這將變得非常慢?例如,我可以在匹配器末尾添加[:50],但這意味着您將永遠不會與具有與request.user相同位置的舊用戶匹配。
我的問題是,是否沒有辦法只爲具有相同位置的用戶創建與匹配器的匹配?我可以在匹配器或for循環之前使用if語句嗎?
我還沒有寫這段代碼,但是我明白了,但是當試圖改進它的時候,我很困難,希望我的解釋和問題是有道理的。
感謝您提前給予任何幫助我很困難!
你可以在這裏使用'__in'。但是,目前還不清楚你的管理器方法get_matches_with_percent是如何工作的或者返回的。 –