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))
La première ligne de cette fonction obtient une erreur sur Question.objects.all()
:
E1101: La classe 'Question' n'a aucun objet 'membre'
Je suis le tutoriel de documentation de Django et ils ont le même code opérationnel.
J'ai essayé d'appeler une instance.
Question = new Question()
and using MyModel.objects.all()
Aussi mon models.py
code pour cette classe est ceci ...
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
En vain, j'ai toujours cette erreur.
J'ai lu sur pylint et ai couru ceci ...
pylint --load-plugins pylint_django
Ce qui n'a pas aidé, même si le fichier readme de github dit ...
Empêche les avertissements concernant les attributs générés par Django tels que Model.objects ou Views.request.
J'ai exécuté la commande dans mon virtualenv, et pourtant rien.
Donc, toute aide serait formidable.
python
django
django-views
buuencrypted
la source
la source
pylint --generated-members=objects
Manager
instance dans lemodels.py
fichier. Reportez-vous à la documentation de django pour plus d'informations.Réponses:
Installer en
pylint-django
utilisantpip
comme suitEnsuite, dans Visual Studio Code, allez à: Paramètres utilisateur ( Ctrl+ ,ou Fichier> Préférences> Paramètres si disponible) Mettez ce qui suit (veuillez noter les accolades requises pour les paramètres utilisateur personnalisés dans VSC):
la source
.pylintrc
fichier comme ceci:load-plugins=pylint_django
et de cette façon, il sera également repris par la CLI, donc cela fonctionnerait dans un cadre d'intégration continue.[pylint] C0111:Missing module docstring
erreurLa réponse @ tieuminh2510 est parfaite. Mais dans les versions plus récentes de VSC, vous ne trouverez pas l'option pour modifier ou coller cette commande dans les paramètres utilisateur . Maintenant, dans une version plus récente pour ajouter ce code, procédez comme suit :
À l'intérieur des premières accolades. Assurez-vous que pylint-django .
J'espère que cela aidera!
la source
pip install pylint-django
. Si l'extension n'est pas installée, cette modification de vos paramètres semble échouer silencieusement, brisant toutes les peluches.Missing module docstringpylint(missing-module-docstring)
. Que peut-on faire pour cela?Installez Django pylint:
ctrl + shift + p> Préférences: configurer les paramètres spécifiques au langage> Python
Le settings.json disponible pour le langage python devrait ressembler à ce qui suit:
la source
Voici la réponse. Obtenu de mon post reddit ... https://www.reddit.com/r/django/comments/6nq0bq/class_question_has_no_objects_member/
la source
objects = models.Manager()
dans la classe des modèles l'a fait pour moi dans VS Code. Merci.J'ai essayé toutes les solutions possibles proposées mais malheureusement, mes paramètres de vscode ne changeront pas son chemin de linter. Donc, je cherche à explorer les paramètres de vscode dans paramètres> Paramètres utilisateur> python . Trouvez Linting: Pylint Path et changez-le en "pylint_django". N'oubliez pas de changer le linter en "pylint_django" dans les paramètres> Paramètres utilisateur> configuration python de "pyLint" à "pylint_django".
la source
MISE À JOUR POUR VS CODE 1.40.0
Après avoir fait:
Suivez ce lien: https://code.visualstudio.com/docs/python/linting#_default-pylint-rules
Notez que la manière de prendre
pylint
en comptepylint-django
est de spécifier:dans le
settings.json
code VS.Mais après cela, vous remarquerez de nombreuses nouvelles erreurs de peluchage. Ensuite, lisez ce qu'il a dit ici:
Ce que j'ai fait, c'est créer un
.pylintrc
fichier comme décrit dans le lien, puis configurer les paramètres suivants à l'intérieur du fichier (en laissant le reste du fichier intact):Fonctionne maintenant
pylint
comme prévu.la source
Vous pouvez modifier l'extension linter pour Python pour Visual Studio Code.
Dans VS, ouvrez la palette de commandes Ctrl + Maj + P et saisissez l'une des commandes suivantes:
lorsque vous sélectionnez un linter, il sera installé. J'ai essayé flake8 et il semble que le problème soit résolu pour moi.
la source
En ajoutant simplement à ce que @ Mallory-Erik a dit: vous pouvez le placer
objects = models.Manager()
dans les modaux:la source
Installez d'abord pylint-django en utilisant la commande suivante
Exécutez ensuite la deuxième commande comme suit:
--load-plugins pylint_django est nécessaire pour revoir correctement un code de django
la source
Si vous utilisez python 3
Si python <3
REMARQUE: la version 2.0 nécessite pylint> = 2.0 qui ne prend plus en charge Python 2! ( https://pypi.org/project/pylint-django/ )
la source
En faisant
Question = new Question()
(je suppose quenew
c'est une faute de frappe), vous écrasez le modèle Question avec une intance deQuestion
. Comme Sayse l'a dit dans les commentaires: n'utilisez pas le même nom pour votre variable que le nom du modèle. Alors changez-le en quelque chose commemy_question = Question()
.la source
Que diriez-vous de supprimer les erreurs sur chaque ligne spécifique à chaque erreur?
Quelque chose comme ça: https://pylint.readthedocs.io/en/latest/user_guide/message-control.html
Erreur: [pylint] La classe 'nom_classe' n'a pas de membre 'nom_membre' Elle peut être supprimée sur cette ligne par:
la source
Changez votre linter en - flake8 et le problème disparaîtra.
la source
Ce problème survient lorsque j'utilise pylint_runner
Donc, ce que je fais est d'ouvrir le fichier .pylintrc et d'ajouter ceci
la source
J'ai pu mettre à jour les paramètres utilisateur.json
Sur mon mac, il était stocké dans:
À l'intérieur, j'ai défini ce qui suit:
Cela a résolu le problème pour moi.
la source