我想以此來顯示(作爲一個排名),誰擁有更多的共同點與登錄用戶的用戶 我有這樣的代碼:Django的數量相匹配的查詢與包含
me = User.objects.get(pk=sesion)
keywords = me.likes
result = []
for keyword in keywords.split(','):
result += list(User.objects.filter(likes__icontains=keyword).exclude(id=sesion))
但是這個代碼所示是這樣的:
Username A
Username B
Username A
Username B
Username B
Username C
我想是這樣的:
Username B
Username A
Username C
因爲用戶「B」與「我」有更多共同之處。
有誰知道我該怎麼做?
感謝
不能真正做到這一點與全文搜索...你有唯一的選擇是重新排序列表中的python ... –
如果您製作了'Like'模型,並將其鏈接爲來自'User'的M2M字段,則這將更容易 –
「likes」是關鍵字,類似標籤。 –