708: AttributeError: 'tuple' object has no attribute 'get_accessor_name'

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'}>
david
#1 david
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'}>
david
#2 david
URL was /api/json/reviewrequests/48187/diff/new/
  • +AttributeError: 'tuple' object has no attribute 'get_accessor_name'
chipx86
#3 chipx86
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.
david
#4 david
I haven't seen this in a while. Assuming fixed in django.
  • +Fixed