मैं प्रत्येक वस्तु के साथ प्रत्येक ऑब्जेक्ट की तुलना कैसे कर सकता हूं और यदि अनुपात()> 0.7 possible_duplicate=True
दोनों ऑब्जेक्ट्स के लिए सेट करें?मैं प्रत्येक वस्तु के साथ प्रत्येक वस्तु की तुलना कैसे कर सकता हूं?
मेरे कोशिश:
from difflib import SequenceMatcher
class Item(models.Model):
name = models.CharField(max_length=255)
desc = models.TextField()
possible_duplicate = models.BooleanField(default=False)
items = Item.objects.all()
for item in items:
obj = Item.objects.get(pk=item.pk)
similarity = SequenceMatcher(None, item.desc, obj.desc).ratio()
if similarity > 0.7:
item.possible_duplicate = True
item.save()
obj.possible_duplicate = True
obj.save()
क्यों 'आइटम्स.बोजेक्ट्स .all() 'को किसी सूची में परिवर्तित कर सकते हैं? – styvane
शायद आवश्यक नहीं है, मुझे बस यकीन नहीं था कि 'itertools.combinations' क्वेरीसेट को संभाल सकता है या नहीं। – ilse2005
'itertools.combinations' के लिए पहला तर्क एक 'पुन: प्रयोज्य' होना चाहिए और क्वेरीसेट पुनरावर्तनीय है इस प्रकार आपको इसे किसी सूची में बदलने की आवश्यकता नहीं है। – styvane