2

I don't get why get() with pk=1 would result in multiple objects returned below..

sqs = SearchQuerySet().more_like_this(self)

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

get() returned more than one MyModel -- it returned 4! Lookup parameters were {'pk': u'1'}

Amarpreet Singh
  • 2,242
  • 16
  • 27
eugene
  • 39,839
  • 68
  • 255
  • 489

1 Answers1

0

I don't know why but I was having the same problem, the following gave me MultipleObjectReturned error:

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)

instead of referencing the obj.object directly, I worked around with using pk

context['object_list'] = Entry.objects.filter(pk__in=[result.pk for result in results])
James Lin
  • 25,028
  • 36
  • 133
  • 233