それぞれのオブジェクトをそれぞれと比較するにはどうすればいいですか?ratio()> 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()
なぜ 'Items.objects.all()'をリストに変換するのですか? – styvane
おそらく必要ではない、 'itertools.combinations'がquerysetsを扱うことができるかどうかは分かりませんでした。 – ilse2005
'itertools.combinations'への最初の引数は' iterable'でなければならず、querysetはiterableなので、リストに変換する必要はありません。 – styvane