If, as in this case (settings.py):
gettext_noop = lambda s:s
LANGUAGES = (
('es', gettext_noop('Castellano')),
('en', gettext_noop('English')),
('pt', gettext_noop('Português')),
)
There is a non-ascii character provided in a string that is not unicode by default (python 2.x) syncdb fails for cms_search:
Traceback (most recent call last):
File "./manage.py", line 14, in
execute_manager(settings)
File "/home/rafadev/www/suntech/bootstrap/lib/python2.6/site-packages/django/core/management/init.py", line 438, in execute_manager
utility.execute()
File "/home/rafadev/www/suntech/bootstrap/lib/python2.6/site-packages/django/core/management/init.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/rafadev/www/suntech/bootstrap/lib/python2.6/site-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(_args, *_options.dict)
File "/home/rafadev/www/suntech/bootstrap/lib/python2.6/site-packages/django/core/management/base.py", line 220, in execute
output = self.handle(_args, *_options)
File "/home/rafadev/www/suntech/bootstrap/lib/python2.6/site-packages/django/core/management/base.py", line 351, in handle
return self.handle_noargs(**options)
File "/home/rafadev/www/suntech/bootstrap/lib/python2.6/site-packages/south/management/commands/syncdb.py", line 90, in handle_noargs
syncdb.Command().execute(**options)
File "/home/rafadev/www/suntech/bootstrap/lib/python2.6/site-packages/django/core/management/base.py", line 220, in execute
output = self.handle(_args, _options)
File "/home/rafadev/www/suntech/bootstrap/lib/python2.6/site-packages/django/core/management/base.py", line 351, in handle
return self.handle_noargs(_options)
File "/home/rafadev/www/suntech/bootstrap/lib/python2.6/site-packages/django/core/management/commands/syncdb.py", line 107, in handle_noargs
emit_post_sync_signal(created_models, verbosity, interactive, db)
File "/home/rafadev/www/suntech/bootstrap/lib/python2.6/site-packages/django/core/management/sql.py", line 182, in emit_post_sync_signal
interactive=interactive, db=db)
File "/home/rafadev/www/suntech/bootstrap/lib/python2.6/site-packages/django/dispatch/dispatcher.py", line 172, in send
response = receiver(signal=self, sender=sender, *_named)
File "/home/rafadev/www/suntech/bootstrap/lib/python2.6/site-packages/django/contrib/auth/management/init.py", line 26, in create_permissions
for codename, name in _get_all_permissions(klass._meta):
File "/home/rafadev/www/suntech/bootstrap/lib/python2.6/site-packages/django/contrib/auth/management/init.py", line 15, in _get_all_permissions
perms.append((_get_permission_codename(action, opts), u'Can %s %s' % (action, opts.verbose_name_raw)))
File "/home/rafadev/www/suntech/bootstrap/lib/python2.6/site-packages/django/db/models/options.py", line 196, in verbose_name_raw
raw = force_unicode(self.verbose_name)
File "/home/rafadev/www/suntech/bootstrap/lib/python2.6/site-packages/django/utils/encoding.py", line 88, in force_unicode
raise DjangoUnicodeDecodeError(s, *e.args)
django.utils.encoding.DjangoUnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 7: ordinal not in range(128). You passed in <django.utils.functional.proxy object at 0x3584c50> (<class 'django.utils.functional.proxy'>)
A temporary fix, in my case was changing LANGUAGES to:
LANGUAGES = (
('es', gettext_noop('Castellano')),
('en', gettext_noop('English')),
('pt', gettext_noop(u'Português')),
)
But we asume that, as no other of my installed applications had the same issue, its probably a bug in cms_search.