Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Django admin中使用搜索_字段时出现UnicodeEncodeError_Python_Django_Python 2.7 - Fatal编程技术网

Python 在Django admin中使用搜索_字段时出现UnicodeEncodeError

Python 在Django admin中使用搜索_字段时出现UnicodeEncodeError,python,django,python-2.7,Python,Django,Python 2.7,我是Django的新手,在使用带有西里尔字母符号的admin中的search_字段时,会出现UnicodeEncodeError。使用ascii符号进行搜索可以正常工作。我应该找什么 Exception Type: UnicodeEncodeError at /admin/persons/person/ Exception Value: 'ascii' codec can't encode characters in position 0-11: ordinal not in range(128

我是Django的新手,在使用带有西里尔字母符号的admin中的search_字段时,会出现UnicodeEncodeError。使用ascii符号进行搜索可以正常工作。我应该找什么

Exception Type: UnicodeEncodeError at /admin/persons/person/
Exception Value: 'ascii' codec can't encode characters in position 0-11: ordinal not in range(128)
models.py

class Person(GenericModel, DatePeriodMixin):
    last_name = models.CharField(_(u'фамилия'), max_length=255)
    first_name = models.CharField(_(u'имя'), max_length=255, blank=True)
    patronymic = models.CharField(_(u'отчество'), max_length=255, blank=True)

    class Meta:
        verbose_name = _('персоналия')
        verbose_name_plural = _('персоналии')
        ordering = ['last_name', 'first_name', 'patronymic']

    def __unicode__(self):
        return u'{} {} {}'.format(
            self.last_name,
            self.first_name,
            self.patronymic).rstrip()

    def get_absolute_url(self):
        return reverse('persons:detail', kwargs={'pk': self.pk})
管理员

@admin.register(Person)
class PersonAdmin(admin.ModelAdmin):
    list_display = ('last_name', 'first_name', 'patronymic')
    search_fields = ['last_name']
    list_filter = ('profession')
    filter_horizontal = ('organizations', 'profession')

    def save_model(self, request, obj, form, change):
        obj.editor = request.user
        obj.save()

好的,通过将此添加到admin.py来修复:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')
(在这里找到:)


不确定是什么,但现在对我有用。现在我们来学习python中的编解码器。

好的,通过将以下内容添加到admin.py中修复了它:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')
(在这里找到:)


不确定是什么,但现在对我有用。现在我们来学习python中的编解码器。

如果您还可以提供引发异常的代码-/admin/persons/person/-这将提供更好的机会,有人可以告诉您错误所在。@PTD更新了我的问题,如果您还可以提供引发异常的代码-/admin/persons/person/-它会提供更好的机会,让某人能够向您显示错误所在。@PTD更新了我的问题