Models in this post. In admin.py:
class GroupsAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['first_year', 'many other']}),
]
So, in this admin section I can add first_year
to the special series of cars. I press "+", then opens a new window - where I can add the year. I add '2011', press "Save" and see the error:
TypeError: expected a character buffer object.
Its very strange, because it works at last week. How it fix? If I go to the first_yearAdmin
, and add the year, it works without errors.
Thanks.
Edit. Traceback:
Environment:
Request Method: POST
Request URL: http://127.0.0.1:8000/admin/cars/first_year/add/?_popup=1
Django Version: 1.5
Python Version: 2.7.3
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sitemaps',
'cars',
'django_evolution',
'django.contrib.admin')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
115. response = callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py" in wrapper
372. return self.admin_site.admin_view(view)(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view
91. response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func
89. response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/sites.py" in inner
202. return view(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapper
25. return bound_func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view
91. response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in bound_func
21. return func(self, *args2, **kwargs2)
File "/usr/local/lib/python2.7/dist-packages/django/db/transaction.py" in inner
223. return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py" in add_view
1010. return self.response_add(request, new_object)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py" in response_add
833. (escape(pk_value), escapejs(obj)))
File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py" in wrapper
194. return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/html.py" in escapejs
65. return mark_safe(force_text(value).translate(_js_escapes))
Exception Type: TypeError at /admin/cars/first_year/add/
Exception Value: expected a character buffer object
Models
class Mark(models.Model):
many_many_char_fields
def __unicode__(self):
return self.name
class First_Year(models.Model):
year = models.IntegerField()
def __unicode__(self):
return str(self.year)
class Groups(models.Model):
many_other_fields
mark = models.ForeignKey(Mark, related_name='groups')
last_update = models.DateTimeField()
first_year = models.ForeignKey(First_Year, related_name='first_year')
def __unicode__(self):
return self.name
def altered_date(self, year):
altered_year = int(year)-int(self.first_year.year)
return altered_year
Actually, it is not necessary to transform the year
field into Charfield, if you want to keep it Integer, as it would be impossible in many cases where you really need a number. The workaround for this 1.5 bug is to make __unicode__
function return unicode string:
class First_Year(models.Model):
year = models.IntegerField()
def __unicode__(self):
return unicode(self.year)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With