def index(request):
latest_question_list = Question.objects.all().order_by('-pub_date')[:5]
template = loader.get_template('polls/index.html')
context = {'latest_question_list':latest_question_list}
return HttpResponse(template.render(context, request))
Первая строка этой функции получает ошибку Question.objects.all()
:
E1101: у класса 'Question' нет объектов 'member'
Я следую учебному пособию по Django, и у них один и тот же код и работает.
Я пытался вызвать экземпляр.
Question = new Question()
and using MyModel.objects.all()
Также мой models.py
код для этого класса это ...
class Question(models.Model):
question_text = models.CharField(max_length = 200)
pub_date = models.DateTimeField('date published')
def was_published_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
def __str__(self):
return self.question_text
Безрезультатно, у меня все еще есть эта ошибка.
Я прочитал о Пилинте и запустил это ...
pylint --load-plugins pylint_django
Что не помогло, даже если файл readme на github говорит ...
Предотвращает предупреждения о сгенерированных Django атрибутах, таких как Model.objects или Views.request.
Я управлял командой в пределах моего virtualenv, и все же ничего.
Так что любая помощь будет отличной.
python
django
django-views
buuencrypted
источник
источник
pylint --generated-members=objects
Manager
экземпляра вmodels.py
файле. Обратитесь к документации Django для получения дополнительной информации.Ответы:
Установите
pylint-django
с помощьюpip
следующегоЗатем в коде Visual Studio перейдите: Параметры пользователя ( Ctrl+ ,или Файл> Параметры> Настройки, если они доступны). Введите следующее (обратите внимание на фигурные скобки, необходимые для пользовательских настроек VSC):
источник
.pylintrc
файл следующим образом:load-plugins=pylint_django
И таким образом он также будет выбран CLI, чтобы он работал в режиме непрерывной интеграции.[pylint] C0111:Missing module docstring
ошибку@ tieuminh2510 ответ идеален. Но в более новых версиях VSC вы не найдете опции для редактирования или вставки этой команды в настройках пользователя . Теперь в новой версии, чтобы добавить этот код, выполните следующие действия :
Внутри первые фигурные скобки. Убедитесь, что Пилинт-Джанго .
Надеюсь, это поможет!
источник
pip install pylint-django
. Если расширение не установлено, это изменение в ваших настройках, по-видимому, происходит тихо, ломая все помехи.Missing module docstringpylint(missing-module-docstring)
, Что для этого можно сделать?Установите Django Pylint:
ctrl + shift + p> Предпочтения: настройка параметров языка> Python
Файл settings.json, доступный для языка Python, должен выглядеть следующим образом:
источник
Вот ответ. Получено из моего поста Reddit ... https://www.reddit.com/r/django/comments/6nq0bq/class_question_has_no_objects_member/
источник
objects = models.Manager()
в классе моделей сделал это для меня в VS Code. Спасибо.Я перепробовал все возможные решения, но, к несчастью, мои настройки vscode не изменят путь к линтеру. Итак, я попробую изучить настройки vscode в настройках> Настройки пользователя> python . Найдите Linting: Pylint Path и измените его на "pylint_django". Не забудьте поменять линтер на «pylint_django» в настройках> «Настройки пользователя»> «конфигурация python» с «pyLint» на «pylint_django».
источник
ОБНОВЛЕНИЕ ДЛЯ VS КОДА 1.40.0
После выполнения:
Перейдите по этой ссылке: https://code.visualstudio.com/docs/python/linting#_default-pylint-rules
Обратите внимание, что способ сделать
pylint
это во вниманиеpylint-django
, указав:в
settings.json
Кодексе ВС.Но после этого вы заметите много новых ошибок линтинга. Затем прочитайте, что здесь сказано:
Я создал
.pylintrc
файл, как описано в ссылке, а затем настроил следующие параметры внутри файла (оставив остальную часть файла без изменений):Теперь
pylint
работает как положено.источник
Вы можете изменить линтер для расширения Python для кода Visual Studio.
В VS откройте палитру команд Ctrl + Shift + P и введите одну из следующих команд:
при выборе линтера он будет установлен. Я попытался flake8, и, кажется, проблема решена для меня.
источник
Просто добавлю к тому, что @ Мэллори-Эрик сказал: Вы можете поместить
objects = models.Manager()
это в модалы:источник
Сначала установите pylint-django, используя следующую команду
Затем выполните вторую команду следующим образом:
--load-plugins pylint_django необходим для корректного просмотра кода django
источник
Если вы используете Python 3
Если питон <3
ПРИМЕЧАНИЕ. Версия 2.0 требует pylint> = 2.0, который больше не поддерживает Python 2! ( https://pypi.org/project/pylint-django/ )
источник
Делая
Question = new Question()
(я предполагаю, чтоnew
это опечатка), вы перезаписываете модель Вопроса с интенциейQuestion
. Как сказал Сэйс в комментариях: не используйте для своей переменной то же имя, что и название модели. Так что поменяй на что то подобноеmy_question = Question()
.источник
Как насчет подавления ошибок в каждой строке, специфичной для каждой ошибки?
Примерно так: https://pylint.readthedocs.io/en/latest/user_guide/message-control.html
Ошибка: [pylint] Класс 'class_name' не имеет члена 'member_name'. В этой строке его можно подавить следующим образом:
источник
Поменяйте линтер на - flake8, и проблема исчезнет.
источник
Эта проблема возникает, когда я использую pylint_runner
Так что я делаю, это открыть файл .pylintrc и добавить это
источник
Мне удалось обновить пользователя settings.json
На моем Mac это было сохранено в:
В нем я установил следующее:
Это решило проблему для меня.
источник