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))
A primeira linha dessa função recebe um erro em Question.objects.all()
:
E1101: A classe 'Pergunta' não possui objetos 'membro'
Estou seguindo o tutorial de documentação do Django e eles têm o mesmo código em funcionamento.
Eu tentei chamar uma instância.
Question = new Question()
and using MyModel.objects.all()
Também o meu models.py
código para essa classe é este ...
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
Sem sucesso, ainda tenho esse erro.
Eu li sobre o pylint e executei isso ...
pylint --load-plugins pylint_django
O que não ajudou, mesmo que o arquivo leia-me do github diga ...
Impede avisos sobre atributos gerados pelo Django, como Model.objects ou Views.request.
Eu executei o comando dentro do meu virtualenv, e ainda nada.
portanto, qualquer ajuda seria ótimo.
python
django
django-views
buuencrypted
fonte
fonte
pylint --generated-members=objects
Manager
instância nomodels.py
arquivo. Consulte a documentação do django para mais informações.Respostas:
Instale
pylint-django
usando dapip
seguinte maneiraEm seguida, no Código do Visual Studio, vá para: Configurações do usuário ( Ctrl+ ,ou Arquivo> Preferências> Configurações, se disponível) Coloque o seguinte (observe as chaves que são necessárias para configurações personalizadas do usuário no VSC):
fonte
.pylintrc
arquivo como este:load-plugins=pylint_django
E dessa forma ela também será selecionada pela CLI, para que funcione em uma configuração de integração contínua.[pylint] C0111:Missing module docstring
erro@ tieuminh2510 resposta é perfeita. Porém, nas versões mais recentes do VSC, você não encontrará a opção de editar ou colar esse comando nas Configurações do Usuário . Agora, na versão mais recente para adicionar esse código, siga estas etapas :
Dentro das primeiras chaves. Certifique-se de que pylint-django .
Espero que isso ajude!
fonte
pip install pylint-django
. Se a extensão não estiver instalada, essa alteração nas suas configurações parecerá falhar silenciosamente, interrompendo todas as etapas.Missing module docstringpylint(missing-module-docstring)
. O que pode ser feito para isso?Instale o Django pylint:
ctrl + shift + p> Preferências: Definir configurações específicas de idioma> Python
O settings.json disponível para a linguagem python deve se parecer com o abaixo:
fonte
Aqui está a resposta. Obtido do meu post no reddit ... https://www.reddit.com/r/django/comments/6nq0bq/class_question_has_no_objects_member/
fonte
objects = models.Manager()
na classe de modelos fez isso por mim no VS Code. Obrigado.Eu tentei todas as soluções possíveis oferecidas, mas infelizmente minhas configurações de vscode não mudaram o caminho do linter. Então, eu pretendo explorar as configurações do vscode nas configurações> Configurações do usuário> python . Encontre Linting: Pylint Path e altere-o para "pylint_django". Não se esqueça de alterar o linter para "pylint_django" em configurações> Configurações do usuário> configuração do python de "pyLint" para "pylint_django".
fonte
ATUALIZAÇÃO PARA CÓDIGO VS 1.40.0
Depois de fazer:
Siga este link: https://code.visualstudio.com/docs/python/linting#_default-pylint-rules
Observe que a maneira de
pylint
levar em consideraçãopylint-django
é especificando:no
settings.json
código VS.Mas depois disso, você notará muitos novos erros de fiapos. Então, leia o que disse aqui:
O que fiz foi criar um
.pylintrc
arquivo conforme descrito no link e, em seguida, configuramos os seguintes parâmetros dentro do arquivo (deixando o restante do arquivo intocado):Agora
pylint
funciona como esperado.fonte
Você pode alterar o linter para a extensão Python para o Visual Studio Code.
No VS, abra a Paleta de Comandos Ctrl + Shift + P e digite um dos seguintes comandos:
quando você seleciona um linter, ele será instalado. Eu tentei flake8 e parece que o problema foi resolvido para mim.
fonte
Apenas adicionando o que @ Mallory-Erik disse: Você pode colocá-
objects = models.Manager()
lo nos modais:fonte
Primeiro instale o pylint-django usando o seguinte comando
Em seguida, execute o segundo comando da seguinte maneira:
--load-plugins pylint_django é necessário para revisar corretamente um código do django
fonte
Se você usa python 3
Se python <3
NOTA: A versão 2.0 requer pylint> = 2.0, que não suporta mais o Python 2! ( https://pypi.org/project/pylint-django/ )
fonte
Ao fazer
Question = new Question()
(presumo quenew
seja um erro de digitação), você substitui o modelo de pergunta com uma intenção deQuestion
. Como Sayse disse nos comentários: não use o mesmo nome para sua variável que o nome do modelo. Então mude para algo comomy_question = Question()
.fonte
Que tal suprimir erros em cada linha específica de cada erro?
Algo assim: https://pylint.readthedocs.io/en/latest/user_guide/message-control.html
Erro: [pylint] A classe 'class_name' não possui membro 'member_name'. Ela pode ser suprimida nessa linha por:
fonte
Mude o seu linter para - flake8 e o problema desaparecerá.
fonte
Esse problema ocorreu quando eu uso o pylint_runner
Então, o que faço é abrir o arquivo .pylintrc e adicionar este
fonte
Consegui atualizar as configurações do usuário.json
No meu mac, ele foi armazenado em:
Dentro dela, defino o seguinte:
Isso resolveu o problema para mim.
fonte