First time here? Check out the FAQ!
1

AttributeError: 'NoneType' object has no attribute 'get_absolute_url'
 

Hello again!

Next error shows every time when I try to view my Inbox (http://localhost/users/1/support/?sort=inbox&section=forum)

Traceback (most recent call last):

 File "/var/src/askbot-devel/askbot_env/lib/python2.6/site-packages/django/core/handlers/base.py", line 111, in get_response
   response = callback(request, *callback_args, **callback_kwargs)

 File "/var/src/askbot-devel/askbot/views/users.py", line 824, in user
   return user_view_func(request, profile_owner, context)

 File "/var/src/askbot-devel/askbot/views/users.py", line 55, in wrapped_func
   return f(request, profile_owner, context)

 File "/var/src/askbot-devel/askbot/views/users.py", line 602, in user_responses
   'response_url': memo.activity.get_absolute_url(),

 File "/var/src/askbot-devel/askbot_env/lib/python2.6/site-packages/django/utils/functional.py", line 55, in _curried
   return _curried_func(*(args+moreargs), **dict(kwargs, **morekwargs))

 File "/var/src/askbot-devel/askbot_env/lib/python2.6/site-packages/django/db/models/base.py", line 887, in get_absolute_url
   return settings.ABSOLUTE_URL_OVERRIDES.get('%s.%s' % (opts.app_label, opts.module_name), func)(self, *args, **kwargs)

 File "/var/src/askbot-devel/askbot/models/user.py", line 209, in get_absolute_url
   return self.content_object.get_absolute_url()

AttributeError: 'NoneType' object has no attribute 'get_absolute_url'


<WSGIRequest
GET:<QueryDict: {u'sort': [u'inbox'], u'section': [u'forum']}>,
POST:<QueryDict: {}>,
COOKIES:{'askbot_visitor': 'False',
 'help.sunline.ua_csrf': '62dd351bd315bb8e3bc556353e995e62',
 'help_csrf': '70f00bfa211d743a9b34d112c214d483',
 'sessionid': '68c54d825d903f9aa423b25079b18b18'},
META:{'DOCUMENT_ROOT': '/var/www/localhost',
 'GATEWAY_INTERFACE': 'CGI/1.1',
 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
 'HTTP_ACCEPT_LANGUAGE': 'ru-RU,ru,en-US;q=0.9,en;q=0.9,en-gb;q=0.9,bg-BG;q=0.9,bg;q=0.8,uk-UA;q=0.8,uk;q=0.8,nl-NL;q=0.7,nl;q=0.7,de-DE;q=0.7,de;q=0.7,fr-FR;q=0.6,fr;q=0.6,es-ES;q=0.6,es;q=0.5,ar-AE;q=0.5,ar;q=0.5,zh-CN;q=0.5,zh;q=0.4,th-TH;q=0.4,th;q=0.4,ru-RU-lite;q=0.3,ja-JP;q=0.3,ja;q=0.3,pt-PT;q=0.3,pt;q=0.2,en-EN;q=0.2,eo-EO;q=0.2,eo;q=0.1,pt-BR;q=0.1,ru-x-mtfrom-et;q=0.1,vi-VN;q=0.1,vi;q=0.0',
 'HTTP_CONNECTION': 'keep-alive',
 'HTTP_COOKIE': 'localhost_csrf=62dd351bd315bb8e3bc556353e995e62; sessionid=68c54d825d903f9aa423b25079b18b18; help_csrf=70f00bfa211d743a9b34d112c214d483; askbot_visitor=False',
 'HTTP_HOST': 'localhost',
 'HTTP_REFERER': 'http://localhost/questions/',
 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux i686; rv:15.0) Gecko/15.0 Firefox/15.0a1',
 'PATH_INFO': u'/users/1/support/',
 'PATH_TRANSLATED': '/var/www/localhost/django.wsgi/users/1/support/',
 'QUERY_STRING': 'sort=inbox&section=forum',
 'REMOTE_ADDR': '10.10.6.166',
 'REMOTE_PORT': '59932',
 'REQUEST_METHOD': 'GET',
 'REQUEST_URI': '/users/1/support/?sort=inbox&section=forum',
 'SCRIPT_FILENAME': '/var/www/localhost/django.wsgi',
 'SCRIPT_NAME': u'',
 'SERVER_ADDR': '10.100.100.1',
 'SERVER_ADMIN': 'support@slocalhost',
 'SERVER_NAME': 'localhost',
 'SERVER_PORT': '80',
 'SERVER_PROTOCOL': 'HTTP/1.1',
 'SERVER_SIGNATURE': '<address>Apache/2.2.16 (Debian) PHP/5.3.3-7+squeeze8 with Suhosin-Patch mod_wsgi/3.3 Python/2.6.6 mod_perl/2.0.4 Perl/v5.10.1 Server at localhost Port 80</address>\n',
 'SERVER_SOFTWARE': 'Apache/2.2.16 (Debian ...
(more)

To enter a block of code:

  • enter empty line after your previous text
  • paste or type the code
  • select the code and press the button above
Preview: (hide)
Olloff's avatar
97
Olloff
asked 12 years ago, updated 12 years ago

Comments

1

This bug is fixed in the development branch. I hope to release in two days.

Evgeny's avatar Evgeny (12 years ago)

Thanks, Evgeny.

Olloff's avatar Olloff (12 years ago)

@Evgeny, sorry for my importunity, but is this bug fixed by recent commits? I still receive these messages.

Olloff's avatar Olloff (12 years ago)
1

Did you try yesterday's release? If so, I would need more details about that Activity record - activity_type and other values. Perhaps you could identify the id of that record and then type in the database console: SELECT * FROM activity WHERE id=[record_id] (without the brackets) and post the output here.

Evgeny's avatar Evgeny (12 years ago)

Yes, I already use most recent build. How can I find broken record? I tried to check every activity record for few users (both from mysql console and from livesettings) and all records seems readable. Edit: I've added grouped listing of activity_type to question

Olloff's avatar Olloff (12 years ago)
see more comments

1 Answer

0

Problem related to incorrect activity records - some object_id in column 'activity' was filled with nonexistent objects. Probably this happened when I restored site from backup after crush. I was need to execute next query to find broken ids:

SELECT activity.id as aid FROM activity LEFT JOIN askbot_post ON activity.object_id=askbot_post.id WHERE askbot_post.id IS NULL;

To enter a block of code:

  • enter empty line after your previous text
  • paste or type the code
  • select the code and press the button above
Preview: (hide)
Olloff's avatar
97
Olloff
answered 12 years ago
link

Comments

1

Right, this has to do with objects with id == activity.object_id do not exist when they are deleted, but activity records stay. It is not because your database was restored, it is a bug in the code.

Evgeny's avatar Evgeny (12 years ago)

It looks like the issue is due to deleted comments. In the past comments did not have revisions in the database, now they do, but still - we delete them the "hard" way - just delete the objects. Questions and answers are deleted the "soft" way - by setting post.deleted = True.

Evgeny's avatar Evgeny (12 years ago)
see more comments