rendered paste bodyclass UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
mobile_number = models.CharField(maxlength=75)
birth_date = models.DateField()
def __str__(self):
return "Profile information for %s" % self.user.username
class Admin:
list_display = ('__str__', 'birth_date', 'mobile_number')
list_filter = ('user__date_joined',)
search_fields = ('user__username', 'user__first_name')
ERROR I GET -
Traceback (innermost last)
Switch back to interactive view
* /usr/lib/python2.3/site-packages/django/core/handlers/base.py in get_response
70. # Apply view middleware
71. for middleware_method in self._view_middleware:
72. response = middleware_method(request, callback, callback_args, callback_kwargs)
73. if response:
74. return response
75.
76. try:
77. response = callback(request, *callback_args, **callback_kwargs) ...
78. except Exception, e:
79. # If the view raised an exception, run it through exception
80. # middleware, and if the exception middleware returns a
81. # response, use that. Otherwise, reraise the exception.
82. for middleware_method in self._exception_middleware:
83. response = middleware_method(request, e)
▶ Local vars
Variable Value
callback
<function _checklogin at 0xb7a94e64>
callback_args
('registration', 'userprofile')
callback_kwargs
{}
debug
<module 'django.views.debug' from '/usr/lib/python2.3/site-packages/django/views/debug.pyc'>
e
<django.db.models.fields.FieldDoesNotExist instance at 0xb7a1c08c>
exceptions
<module 'django.core.exceptions' from '/usr/lib/python2.3/site-packages/django/core/exceptions.pyc'>
mail_admins
<function mail_admins at 0xb7de7614>
middleware_method
<bound method XViewMiddleware.process_view of <django.middleware.doc.XViewMiddleware object at 0xb7c4ceac>>
request
<ModPythonRequest path:/admin/registration/userprofile/, GET:<MultiValueDict: {}>, POST:<MultiValueDict: {}>, COOKIES:{'__utma': '184279343.435217782.1197539581.1197539581.1197552246.2', '__utmb': '184279343', '__utmc': '184279343', '__utmz': '184279343.1197539581.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)', 'sessionid': 'b1e8d69aefb6c4697245815c785649d0'}, META:{'AUTH_TYPE': None, 'CONTENT_LENGTH': 0L, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': '__utma=184279343.435217782.1197539581.1197539581.1197552246.2; __utmc=184279343; __utmz=184279343.1197539581.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utmb=184279343; sessionid=b1e8d69aefb6c4697245815c785649d0', 'HTTP_HOST': '82.195.156.102', 'HTTP_KEEP_ALIVE': '300', 'HTTP_REFERER': 'http://82.195.156.102/admin/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11', 'PATH_INFO': '/registration/userprofile/', 'PATH_TRANSLATED': None, 'QUERY_STRING': None, 'REMOTE_ADDR': '217.78.9.66', 'REMOTE_HOST': None, 'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': None, 'SERVER_NAME': 'bodytonicmusic.com', 'SERVER_PORT': 0, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'mod_python'}>
resolver
<django.core.urlresolvers.RegexURLResolver object at 0xb7d822ec>
response
None
self
<django.core.handlers.modpython.ModPythonHandler object at 0xb7e66aec>
settings
<django.conf.LazySettings object at 0xb7e3fe0c>
urlconf
'bodytonic.urls'
urlresolvers
<module 'django.core.urlresolvers' from '/usr/lib/python2.3/site-packages/django/core/urlresolvers.pyc'>
* /usr/lib/python2.3/site-packages/django/contrib/admin/views/decorators.py in _checklogin
48. def _checklogin(request, *args, **kwargs):
49. if request.user.is_authenticated() and request.user.is_staff:
50. # The user is valid. Continue to the admin page.
51. if request.POST.has_key('post_data'):
52. # User must have re-authenticated through a different window
53. # or tab.
54. request.POST = _decode_post_data(request.POST['post_data'])
55. return view_func(request, *args, **kwargs) ...
56.
57. assert hasattr(request, 'session'), "The Django admin requires session middleware to be installed. Edit your MIDDLEWARE_CLASSES setting to insert 'django.contrib.sessions.middleware.SessionMiddleware'."
58.
59. # If this isn't already the login page, display it.
60. if not request.POST.has_key(LOGIN_FORM_KEY):
61. if request.POST:
▶ Local vars
Variable Value
args
('registration', 'userprofile')
kwargs
{}
request
<ModPythonRequest path:/admin/registration/userprofile/, GET:<MultiValueDict: {}>, POST:<MultiValueDict: {}>, COOKIES:{'__utma': '184279343.435217782.1197539581.1197539581.1197552246.2', '__utmb': '184279343', '__utmc': '184279343', '__utmz': '184279343.1197539581.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)', 'sessionid': 'b1e8d69aefb6c4697245815c785649d0'}, META:{'AUTH_TYPE': None, 'CONTENT_LENGTH': 0L, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': '__utma=184279343.435217782.1197539581.1197539581.1197552246.2; __utmc=184279343; __utmz=184279343.1197539581.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utmb=184279343; sessionid=b1e8d69aefb6c4697245815c785649d0', 'HTTP_HOST': '82.195.156.102', 'HTTP_KEEP_ALIVE': '300', 'HTTP_REFERER': 'http://82.195.156.102/admin/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11', 'PATH_INFO': '/registration/userprofile/', 'PATH_TRANSLATED': None, 'QUERY_STRING': None, 'REMOTE_ADDR': '217.78.9.66', 'REMOTE_HOST': None, 'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': None, 'SERVER_NAME': 'bodytonicmusic.com', 'SERVER_PORT': 0, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'mod_python'}>
view_func
<function _wrapped_view_func at 0xb7a94e2c>
* /usr/lib/python2.3/site-packages/django/views/decorators/cache.py in _wrapped_view_func
32.
33. def never_cache(view_func):
34. """
35. Decorator that adds headers to a response so that it will
36. never be cached.
37. """
38. def _wrapped_view_func(request, *args, **kwargs):
39. response = view_func(request, *args, **kwargs) ...
40. add_never_cache_headers(response)
41. return response
42. return _wrapped_view_func
▶ Local vars
Variable Value
args
('registration', 'userprofile')
kwargs
{}
request
<ModPythonRequest path:/admin/registration/userprofile/, GET:<MultiValueDict: {}>, POST:<MultiValueDict: {}>, COOKIES:{'__utma': '184279343.435217782.1197539581.1197539581.1197552246.2', '__utmb': '184279343', '__utmc': '184279343', '__utmz': '184279343.1197539581.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)', 'sessionid': 'b1e8d69aefb6c4697245815c785649d0'}, META:{'AUTH_TYPE': None, 'CONTENT_LENGTH': 0L, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': '__utma=184279343.435217782.1197539581.1197539581.1197552246.2; __utmc=184279343; __utmz=184279343.1197539581.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utmb=184279343; sessionid=b1e8d69aefb6c4697245815c785649d0', 'HTTP_HOST': '82.195.156.102', 'HTTP_KEEP_ALIVE': '300', 'HTTP_REFERER': 'http://82.195.156.102/admin/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11', 'PATH_INFO': '/registration/userprofile/', 'PATH_TRANSLATED': None, 'QUERY_STRING': None, 'REMOTE_ADDR': '217.78.9.66', 'REMOTE_HOST': None, 'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': None, 'SERVER_NAME': 'bodytonicmusic.com', 'SERVER_PORT': 0, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'mod_python'}>
view_func
<function change_list at 0xb7a94c6c>
* /usr/lib/python2.3/site-packages/django/contrib/admin/views/main.py in change_list
753. def change_list(request, app_label, model_name):
754. model = models.get_model(app_label, model_name)
755. if model is None:
756. raise Http404("App %r, model %r, not found" % (app_label, model_name))
757. if not request.user.has_perm(app_label + '.' + model._meta.get_change_permission()):
758. raise PermissionDenied
759. try:
760. cl = ChangeList(request, model) ...
761. except IncorrectLookupParameters:
762. # Wacky lookup parameters were given, so redirect to the main
763. # changelist page, without parameters, and pass an 'invalid=1'
764. # parameter via the query string. If wacky parameters were given and
765. # the 'invalid=1' parameter was already in the query string, something
766. # is screwed up with the database, so display an error page.
▶ Local vars
Variable Value
app_label
'registration'
model
<class 'bodytonic.registration.models.UserProfile'>
model_name
'userprofile'
request
<ModPythonRequest path:/admin/registration/userprofile/, GET:<MultiValueDict: {}>, POST:<MultiValueDict: {}>, COOKIES:{'__utma': '184279343.435217782.1197539581.1197539581.1197552246.2', '__utmb': '184279343', '__utmc': '184279343', '__utmz': '184279343.1197539581.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)', 'sessionid': 'b1e8d69aefb6c4697245815c785649d0'}, META:{'AUTH_TYPE': None, 'CONTENT_LENGTH': 0L, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': '__utma=184279343.435217782.1197539581.1197539581.1197552246.2; __utmc=184279343; __utmz=184279343.1197539581.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utmb=184279343; sessionid=b1e8d69aefb6c4697245815c785649d0', 'HTTP_HOST': '82.195.156.102', 'HTTP_KEEP_ALIVE': '300', 'HTTP_REFERER': 'http://82.195.156.102/admin/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11', 'PATH_INFO': '/registration/userprofile/', 'PATH_TRANSLATED': None, 'QUERY_STRING': None, 'REMOTE_ADDR': '217.78.9.66', 'REMOTE_HOST': None, 'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': None, 'SERVER_NAME': 'bodytonicmusic.com', 'SERVER_PORT': 0, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'mod_python'}>
* /usr/lib/python2.3/site-packages/django/contrib/admin/views/main.py in __init__
567. del self.params[ERROR_FLAG]
568.
569. self.order_field, self.order_type = self.get_ordering()
570. self.query = request.GET.get(SEARCH_VAR, '')
571. self.query_set = self.get_query_set()
572. self.get_results(request)
573. self.title = (self.is_popup and _('Select %s') % self.opts.verbose_name or _('Select %s to change') % self.opts.verbose_name)
574. self.filter_specs, self.has_filters = self.get_filters(request) ...
575. self.pk_attname = self.lookup_opts.pk.attname
576.
577. def get_filters(self, request):
578. filter_specs = []
579. if self.lookup_opts.admin.list_filter and not self.opts.one_to_one_field:
580. filter_fields = [self.lookup_opts.get_field(field_name) \
▶ Local vars
Variable Value
model
<class 'bodytonic.registration.models.UserProfile'>
request
<ModPythonRequest path:/admin/registration/userprofile/, GET:<MultiValueDict: {}>, POST:<MultiValueDict: {}>, COOKIES:{'__utma': '184279343.435217782.1197539581.1197539581.1197552246.2', '__utmb': '184279343', '__utmc': '184279343', '__utmz': '184279343.1197539581.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)', 'sessionid': 'b1e8d69aefb6c4697245815c785649d0'}, META:{'AUTH_TYPE': None, 'CONTENT_LENGTH': 0L, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': '__utma=184279343.435217782.1197539581.1197539581.1197552246.2; __utmc=184279343; __utmz=184279343.1197539581.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utmb=184279343; sessionid=b1e8d69aefb6c4697245815c785649d0', 'HTTP_HOST': '82.195.156.102', 'HTTP_KEEP_ALIVE': '300', 'HTTP_REFERER': 'http://82.195.156.102/admin/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11', 'PATH_INFO': '/registration/userprofile/', 'PATH_TRANSLATED': None, 'QUERY_STRING': None, 'REMOTE_ADDR': '217.78.9.66', 'REMOTE_HOST': None, 'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': None, 'SERVER_NAME': 'bodytonicmusic.com', 'SERVER_PORT': 0, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'mod_python'}>
self
<django.contrib.admin.views.main.ChangeList object at 0xb7af874c>
* /usr/lib/python2.3/site-packages/django/contrib/admin/views/main.py in get_filters
573. self.title = (self.is_popup and _('Select %s') % self.opts.verbose_name or _('Select %s to change') % self.opts.verbose_name)
574. self.filter_specs, self.has_filters = self.get_filters(request)
575. self.pk_attname = self.lookup_opts.pk.attname
576.
577. def get_filters(self, request):
578. filter_specs = []
579. if self.lookup_opts.admin.list_filter and not self.opts.one_to_one_field:
580. filter_fields = [self.lookup_opts.get_field(field_name) \ ...
581. for field_name in self.lookup_opts.admin.list_filter]
582. for f in filter_fields:
583. spec = FilterSpec.create(f, request, self.params, self.model)
584. if spec and spec.has_output():
585. filter_specs.append(spec)
586. return filter_specs, bool(filter_specs)
▶ Local vars
Variable Value
_[1]
<built-in method append of list object at 0xb7a17e0c>
field_name
'user__date_joined'
filter_specs
[]
request
<ModPythonRequest path:/admin/registration/userprofile/, GET:<MultiValueDict: {}>, POST:<MultiValueDict: {}>, COOKIES:{'__utma': '184279343.435217782.1197539581.1197539581.1197552246.2', '__utmb': '184279343', '__utmc': '184279343', '__utmz': '184279343.1197539581.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)', 'sessionid': 'b1e8d69aefb6c4697245815c785649d0'}, META:{'AUTH_TYPE': None, 'CONTENT_LENGTH': 0L, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': '__utma=184279343.435217782.1197539581.1197539581.1197552246.2; __utmc=184279343; __utmz=184279343.1197539581.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utmb=184279343; sessionid=b1e8d69aefb6c4697245815c785649d0', 'HTTP_HOST': '82.195.156.102', 'HTTP_KEEP_ALIVE': '300', 'HTTP_REFERER': 'http://82.195.156.102/admin/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11', 'PATH_INFO': '/registration/userprofile/', 'PATH_TRANSLATED': None, 'QUERY_STRING': None, 'REMOTE_ADDR': '217.78.9.66', 'REMOTE_HOST': None, 'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': None, 'SERVER_NAME': 'bodytonicmusic.com', 'SERVER_PORT': 0, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'mod_python'}>
self
<django.contrib.admin.views.main.ChangeList object at 0xb7af874c>
* /usr/lib/python2.3/site-packages/django/db/models/options.py in get_field
94.
95. def get_field(self, name, many_to_many=True):
96. "Returns the requested field by name. Raises FieldDoesNotExist on error."
97. to_search = many_to_many and (self.fields + self.many_to_many) or self.fields
98. for f in to_search:
99. if f.name == name:
100. return f
101. raise FieldDoesNotExist, '%s has no field named %r' % (self.object_name, name) ...
102.
103. def get_order_sql(self, table_prefix=''):
104. "Returns the full 'ORDER BY' clause for this object, according to self.ordering."
105. if not self.ordering: return ''
106. pre = table_prefix and (table_prefix + '.') or ''
107. return 'ORDER BY ' + orderlist2sql(self.ordering, self, pre)
▶ Local vars
Variable Value
f
<django.db.models.fields.DateField object at 0xb7ab428c>
many_to_many
True
name
'user__date_joined'
self
<Options for UserProfile>
to_search
[<django.db.models.fields.AutoField object at 0xb7ab494c>, <django.db.models.fields.related.ForeignKey object at 0xb7ab408c>, <django.db.models.fields.CharField object at 0xb7ab412c>, <django.db.models.fields.DateField object at 0xb7ab428c>]
Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/django/core/handlers/base.py" in get_response
77. response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.3/site-packages/django/contrib/admin/views/decorators.py" in _checklogin
55. return view_func(request, *args, **kwargs)
File "/usr/lib/python2.3/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
39. response = view_func(request, *args, **kwargs)
File "/usr/lib/python2.3/site-packages/django/contrib/admin/views/main.py" in change_list
760. cl = ChangeList(request, model)
File "/usr/lib/python2.3/site-packages/django/contrib/admin/views/main.py" in __init__
574. self.filter_specs, self.has_filters = self.get_filters(request)
File "/usr/lib/python2.3/site-packages/django/contrib/admin/views/main.py" in get_filters
580. filter_fields = [self.lookup_opts.get_field(field_name) \
File "/usr/lib/python2.3/site-packages/django/db/models/options.py" in get_field
101. raise FieldDoesNotExist, '%s has no field named %r' % (self.object_name, name)
FieldDoesNotExist at /admin/registration/userprofile/
UserProfile has no field named 'user__date_joined'