708: AttributeError: 'tuple' object has no attribute 'get_accessor_name'
- Fixed
- Review Board
| david | |
| Nov. 28, 2009 |
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py",
line 86, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.5/site-packages/django/views/decorators/cache.py",
line 44, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File
"/usr/lib/python2.5/site-packages/Djblets-0.4.dev_r11901-py2.5.egg/djblets/webapi/decorators.py",
line 32, in _checklogin
return view_func(request, *args, **kwargs)
File "/usr/lib/python2.5/site-packages/django/views/decorators/http.py",
line 31, in inner
return func(request, *args, **kwargs)
File
"/usr/lib/python2.5/site-packages/ReviewBoard-0.9.dev_r1537-py2.5.egg/reviewboard/webapi/json.py",
line 1124, in new_diff
discarded_diffset.delete()
File "/usr/lib/python2.5/site-packages/django/db/models/base.py", line
440, in delete
self._collect_sub_objects(seen_objs)
File "/usr/lib/python2.5/site-packages/django/db/models/base.py", line
408, in _collect_sub_objects
rel_opts_name = related.get_accessor_name()
AttributeError: 'tuple' object has no attribute 'get_accessor_name'
<ModPythonRequest
path:/api/json/reviewrequests/48187/diff/new/,
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
COOKIES:{'rbsessionid': '710fcf95d13a5b658f871da0ff0d52ff'},
META:{'AUTH_TYPE': None,
'CONTENT_LENGTH': 0L,
'CONTENT_TYPE': None,
'GATEWAY_INTERFACE': 'CGI/1.1',
'HTTP_ACCEPT_ENCODING': 'identity',
'HTTP_CONNECTION': 'close',
'HTTP_CONTENT_LENGTH': '12916',
'HTTP_CONTENT_TYPE': 'multipart/form-data;
boundary=10.20.106.19.5107.27209.1224559882.936.3',
'HTTP_COOKIE': 'rbsessionid=710fcf95d13a5b658f871da0ff0d52ff',
'HTTP_HOST': 'reviewboard.eng.vmware.com',
'HTTP_USER_AGENT': 'post-review/0.5',
'PATH_INFO': u'/api/json/reviewrequests/48187/diff/new/',
'PATH_TRANSLATED': None,
'QUERY_STRING': None,
'REMOTE_ADDR': '10.20.106.19',
'REMOTE_HOST': None,
'REMOTE_IDENT': None,
'REMOTE_USER': None,
'REQUEST_METHOD': 'POST',
'SCRIPT_NAME': '',
'SERVER_NAME': 'reviewboard.eng.vmware.com',
'SERVER_PORT': 0,
'SERVER_PROTOCOL': 'HTTP/1.1',
'SERVER_SOFTWARE': 'mod_python'}>
Probably the same bug:
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py", line 86, in
get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.5/site-packages/django/views/decorators/cache.py", line 44,
in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File
"/usr/lib/python2.5/site-packages/Djblets-0.4.dev_r11901-py2.5.egg/djblets/webapi/decorators.py",
line 32, in _checklogin
return view_func(request, *args, **kwargs)
File "/usr/lib/python2.5/site-packages/django/views/decorators/http.py", line 31,
in inner
return func(request, *args, **kwargs)
File
"/usr/lib/python2.5/site-packages/ReviewBoard-0.9.dev_r1537-py2.5.egg/reviewboard/webapi/json.py",
line 1124, in new_diff
discarded_diffset.delete()
File "/usr/lib/python2.5/site-packages/django/db/models/base.py", line 440, in delete
self._collect_sub_objects(seen_objs)
File "/usr/lib/python2.5/site-packages/django/db/models/base.py", line 408, in
_collect_sub_objects
rel_opts_name = related.get_accessor_name()
AttributeError: 'str' object has no attribute 'get_accessor_name'
<ModPythonRequest
path:/api/json/reviewrequests/47798/diff/new/,
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
COOKIES:{'rbsessionid': '704af7b9e4d5e41adc2eb18350e13102'},
META:{'AUTH_TYPE': None,
'CONTENT_LENGTH': 0L,
'CONTENT_TYPE': None,
'GATEWAY_INTERFACE': 'CGI/1.1',
'HTTP_ACCEPT_ENCODING': 'identity',
'HTTP_CONNECTION': 'close',
'HTTP_CONTENT_LENGTH': '41422',
'HTTP_CONTENT_TYPE': 'multipart/form-data;
boundary=127.0.0.1.20100.30421.1224607891.142.3',
'HTTP_COOKIE': 'rbsessionid=704af7b9e4d5e41adc2eb18350e13102',
'HTTP_HOST': 'reviewboard.eng.vmware.com',
'HTTP_USER_AGENT': 'post-review/0.5',
'PATH_INFO': u'/api/json/reviewrequests/47798/diff/new/',
'PATH_TRANSLATED': None,
'QUERY_STRING': None,
'REMOTE_ADDR': '10.17.118.79',
'REMOTE_HOST': None,
'REMOTE_IDENT': None,
'REMOTE_USER': None,
'REQUEST_METHOD': 'POST',
'SCRIPT_NAME': '',
'SERVER_NAME': 'reviewboard.eng.vmware.com',
'SERVER_PORT': 0,
'SERVER_PROTOCOL': 'HTTP/1.1',
'SERVER_SOFTWARE': 'mod_python'}>
URL was /api/json/reviewrequests/48187/diff/new/
-
+ AttributeError: 'tuple' object has no attribute 'get_accessor_name'
Every so often, I look into this. I've yet to figure it out. However, given that it can even get this far into the code, I believe it's an issue in Django 1.0. Hopefully it's been fixed since. We'll find out when we update the version at work I guess.