2024: MultipleObjectsReturned: get() returned more than one ReviewRequest

m.mil*****@gmai***** (Google Code) (Is this you? Claim this profile.)
March 21, 2011
What version are you running?
1.5.4


What's the URL of the page containing the problem?
https://<reviewboard_host>/r/new/


What steps will reproduce the problem?
I'm just receiving the errors so am not positive of the exact steps to reproduce but as indicated in an email thread in reviewboard@googlegroups.com is most likely using the creation form.


What is the expected output? What do you see instead?


What operating system are you using? What browser?
Linux/Chrome


Please provide any additional information below.

2011-03-14 09:28:19,338 - ERROR - Exception thrown for user XXXXXXXXX
at https://XXXXXXXX/r/new/

get() returned more than one ReviewRequest -- it returned 4! Lookup
parameters were {'changenum': 18332}
Traceback (most recent call last):
 File "/build/toolchain/noarch/django-1.2.5/lib/python2.6/site-packages/django/core/handlers/base.py",
line 100, in get_response
   response = callback(request, *callback_args, **callback_kwargs)
 File "/build/toolchain/noarch/Djblets-0.6.7/lib/python2.6/site-packages/Djblets-0.6.7-py2.6.egg/djblets/auth/util.py",
line 46, in _checklogin
   return view_func(request, *args, **kwargs)
 File "/build/toolchain/noarch/reviewboard-1.5.4.1/ReviewBoard-1.5.4.1-py2.6.egg/reviewboard/reviews/views.py",
line 68, in new_review_request
   parent_diff_file=request.FILES.get('parent_diff_path'))
 File "/build/toolchain/noarch/reviewboard-1.5.4.1/ReviewBoard-1.5.4.1-py2.6.egg/reviewboard/reviews/forms.py",
line 166, in create
   review_request = ReviewRequest.objects.get(changenum=changenum)
 File "/build/toolchain/noarch/django-1.2.5/lib/python2.6/site-packages/django/db/models/manager.py",
line 132, in get
   return self.get_query_set().get(*args, **kwargs)
 File "/build/toolchain/noarch/django-1.2.5/lib/python2.6/site-packages/django/db/models/query.py",
line 349, in get
   % (self.model._meta.object_name, num, kwargs))
MultipleObjectsReturned: get() returned more than one ReviewRequest --
it returned 4! Lookup parameters were {'changenum': 18332}

mysql> select id, submitter_id, repository_id, changenum from
reviews_reviewrequest where changenum = 18332;
+--------+--------------+---------------+-----------+
| id     | submitter_id | repository_id | changenum |
+--------+--------------+---------------+-----------+
|  18284 |           28 |             2 |     18332 |
|  24555 |         1158 |            10 |     18332 |
| 216485 |         3484 |            14 |     18332 |
| 128542 |          767 |            25 |     18332 |
+--------+--------------+---------------+-----------+
david
#1 david
Fixed in release-1.5.x. This will ship with 1.5.5.
  • +Fixed