Opened 18 years ago
Closed 18 years ago
#6743 closed (invalid)
LogEntry in admin doesn't support unicode
| Reported by: | anonymous | Owned by: | nobody |
|---|---|---|---|
| Component: | contrib.admin | Version: | dev |
| Severity: | Keywords: | admin unicode logentry | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
Hi!
I've just installed fresh Django instance from SVN.
Model is pretty simple:
class City(models.Model):
name = models.CharField(_('City'), max_length=64, )
slug = models.SlugField(_('Slug'), prepopulate_from =('name',), )
moderated = models.NullBooleanField('Approved by moderator',)
def __str__(self):
return '%s' % self.name
class Admin:
list_display = ('name', 'slug', 'moderated',)
While adding this object with name in Russian, I meet an error:
Environment:
Request Method: POST
Request URL: http://127.0.0.1:8000/admin/core/city/add/
Django Version: 0.97-pre-SVN-7209
Python Version: 2.5.1
Installed Applications:
['django.contrib.auth',
'django.contrib.admin',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'aru.core']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.doc.XViewMiddleware')
Traceback:
File "../lib/django-trunk\django\contrib\admin\views\decorators.py" in _checklogin
62. return view_func(request, *args, **kwargs)
File "../lib/django-trunk\django\views\decorators\cache.py" in _wrapped_view_func
44. response = view_func(request, *args, **kwargs)
File "../lib/django-trunk\django\contrib\admin\views\main.py" in add_stage
266. LogEntry.objects.log_action(request.user.id, ContentType.objects.get_for_model(model).id, pk_value, force_unicode(new_object), ADDITION)
Exception Type: UnicodeEncodeError at /admin/core/city/add/
Exception Value: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
But the object was successfully added - only Log Entry doesn't appear.
Note:
See TracTickets
for help on using tickets.
Your model should define a unicode method not an str method, please try changing this, for now I will close the ticket, if that doesn't fix it, feel free to reopen.