2

get() で pk=1 を実行すると、以下に複数のオブジェクトが返される理由がわかりません..

sqs = SearchQuerySet().more_like_this(self)

for obj in sqs:
      do something with obj.object # obj.object results in error

get() は複数の MyModel を返しました -- 4 を返しました! ルックアップ パラメータは {'pk': u'1'} でした

4

1 に答える 1

0

理由はわかりませんが、同じ問題が発生していました。次のMultipleObjectReturnedエラーが発生しました。

context['object_list'] = [result.object for result in results]


lib/python2.7/site-packages/haystack/models.py", line 80, in _get_object
self._object = self.searchindex.read_queryset().get(pk=self.pk)

を直接参照する代わりに、obj.objectpk を使用して回避しました。

context['object_list'] = Entry.objects.filter(pk__in=[result.pk for result in results])
于 2014-03-12T03:01:21.587 に答える