Обработка строки Unicode стандартизована в Python 3.
out1 = "(嘉南大圳 ㄐㄧㄚ ㄋㄢˊ ㄉㄚˋ ㄗㄨㄣˋ )"
fobj = open("t1.txt", "w", encoding="utf-8")
fobj.write(out1)
fobj.close()
Это не решение, но можно добавить objects = models.Manager()
к Вашим моделям Django, не изменяя поведения.
Я сам только использую pyflakes, прежде всего, из-за некоторых немых значений по умолчанию в pylint и лени с моей стороны (не желание искать, как изменить значения по умолчанию).
Из-за того, как pylint работает (он исследует сам источник, не позволяя Python на самом деле выполнить его), pylint очень трудно выяснить, как метаклассы и сложные базовые классы на самом деле влияют на класс и его экземпляры. 'pychecker' инструмент немного лучше в этом отношении, потому что он действительно на самом деле позволяет Python выполнить код; это импортирует модули и исследует полученные объекты. Однако тот подход имеет другие проблемы, потому что он действительно на самом деле позволяет Python выполнить код :-)
Вы могли расширить pylint, чтобы преподавать это волшебству использование Django или заставить его понять метаклассы или сложные базовые классы лучше, или просто игнорировать такие регистры после обнаружения одной или нескольких функций, которые это не вполне понимает. Я не думаю, что это было бы особенно легко. Можно также просто сказать pylint не предупреждать об этих вещах, через специальные комментарии в источнике, параметрах командной строки или .pylintrc файле.
Попытайтесь выполнить pylint с
pylint --ignored-classes=Tags
Если это работает, добавьте все другие классы Django - возможно использование сценария, в говорят, Python :P
Документация для --ignore-classes
:
--ignored-classes=<members names>
Список классов называет, на который членские атрибуты не должны быть проверены (полезный для классов с атрибутами динамично набор). [текущий: %default]
Я должен добавить, что это не конкретное изящное решение, по моему мнению, но оно должно работать.
Я ушел из использования pylint/pychecker в пользу использования pyflakes с кодом Django - это просто пытается импортировать модуль и сообщает о любой проблеме, это находит, как неиспользованный импорт или деинициализирует локальные имена.
До сих пор я не нашел действительного решения этого, но работы вокруг:
Я использую следующее: pylint --generated-members = objects
django-lint - хороший инструмент, который обертывает pylint с настройками, специфичными для django: http://chris-lamb.co.uk/projects/django-lint/
проект на github: https://github.com/lamby/django-lint