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 primera línea de esa función obtiene un error en Question.objects.all()
:
E1101: La clase 'Pregunta' no tiene objetos 'miembro'
Estoy siguiendo el tutorial de documentación de Django y tienen el mismo código en funcionamiento.
He intentado llamar a una instancia.
Question = new Question()
and using MyModel.objects.all()
También mi models.py
código para esa clase es 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
En vano todavía tengo este error.
He leído sobre pylint y ejecuté esto ...
pylint --load-plugins pylint_django
Lo que no ayudó, incluso aunque el archivo readme de github dice ...
Evita advertencias sobre atributos generados por Django como Model.objects o Views.request.
Ejecuté el comando dentro de mi virtualenv, y sin embargo nada.
Por lo que cualquier ayuda sería grande.
python
django
django-views
cifrado
fuente
fuente
pylint --generated-members=objects
Manager
instancia en elmodels.py
archivo. Consulte la documentación de django para obtener más información.Respuestas:
Instale
pylint-django
usandopip
lo siguienteLuego, en Visual Studio Code goto: Configuración de usuario ( Ctrl+ ,o Archivo> Preferencias> Configuración, si está disponible) Ponga lo siguiente (tenga en cuenta las llaves que se requieren para la configuración personalizada del usuario en VSC):
fuente
.pylintrc
archivo de esta manera:load-plugins=pylint_django
y de esa manera también será recogida por la CLI, por lo que funcionaría en una configuración de integración continua.[pylint] C0111:Missing module docstring
error@ tieuminh2510 la respuesta es perfecta. Pero en las versiones más recientes de VSC no encontrará la opción para editar o pegar ese comando en la Configuración del usuario . Ahora, en la versión más nueva para agregar ese código, siga estos pasos :
Dentro de las primeras llaves. Asegúrese de que pylint-django .
Espero que esto ayude!
fuente
pip install pylint-django
. Si la extensión no está instalada, este cambio en su configuración parece fallar silenciosamente, rompiendo todo el revestimiento.Missing module docstringpylint(missing-module-docstring)
. ¿Qué se puede hacer para esto?Instalar Django pylint:
ctrl + shift + p> Preferencias: Configurar ajustes específicos del idioma> Python
La configuración.json disponible para el lenguaje python debería verse como a continuación:
fuente
Aquí está la respuesta. Obtenido de mi publicación en reddit ... https://www.reddit.com/r/django/comments/6nq0bq/class_question_has_no_objects_member/
fuente
objects = models.Manager()
en la clase de modelos lo hizo por mí en VS Code. Gracias.He probado todas las soluciones posibles ofrecidas, pero desafortunadamente mi configuración de vscode no cambiará su ruta de interfaz. Por lo tanto, me gustaría explorar la configuración de vscode en configuración> Configuración de usuario> python . Busque Linting: Pylint Path y cámbielo a "pylint_django". No olvide cambiar el linter a "pylint_django" en configuración> Configuración de usuario> configuración de python de "pyLint" a "pylint_django".
fuente
ACTUALIZACIÓN PARA VS CODE 1.40.0
Después de hacer:
Siga este enlace: https://code.visualstudio.com/docs/python/linting#_default-pylint-rules
Tenga en cuenta que la forma de
pylint
tener en cuentapylint-django
es especificando:en el
settings.json
de VS Code.Pero después de eso, notará muchos nuevos errores de linting. Luego, lee lo que dice aquí:
Lo que he hecho es crear un
.pylintrc
archivo como se describe en el enlace, y luego, configuré los siguientes parámetros dentro del archivo (dejando el resto del archivo intacto):Ahora
pylint
funciona como se esperaba.fuente
Puede cambiar el linter para la extensión de Python para Visual Studio Code.
En VS, abra la Paleta de comandos Ctrl + Shift + P y escriba uno de los siguientes comandos:
cuando selecciona un linter, se instalará. Intenté flake8 y parece que el problema se resolvió para mí.
fuente
Simplemente agregue lo que dijo @ Mallory-Erik: Puede colocarlo
objects = models.Manager()
en los modales:fuente
Primero instale pylint-django usando el siguiente comando
Luego ejecute el segundo comando de la siguiente manera:
--load-plugins pylint_django es necesario para revisar correctamente un código de django
fuente
Si usas Python 3
Si python <3
NOTA: ¡La versión 2.0 requiere pylint> = 2.0 que ya no es compatible con Python 2! ( https://pypi.org/project/pylint-django/ )
fuente
Al hacer
Question = new Question()
(supongo quenew
es un error tipográfico), está sobrescribiendo el modelo de Pregunta con una intancia deQuestion
. Como dijo Sayse en los comentarios: no use el mismo nombre para su variable que el nombre del modelo. Así que cámbialo a algo asímy_question = Question()
.fuente
¿Qué hay de suprimir errores en cada línea específica de cada error?
Algo así: https://pylint.readthedocs.io/en/latest/user_guide/message-control.html
Error: [pylint] La clase 'class_name' no tiene miembro 'member_name'. Se puede suprimir en esa línea mediante:
fuente
Cambie su linter a - flake8 y el problema desaparecerá.
fuente
Este problema sucede cuando uso pylint_runner
Entonces, lo que hago es abrir el archivo .pylintrc y agregar esto
fuente
Pude actualizar la configuración de usuario.json
En mi mac estaba almacenado en:
Dentro de él, configuro lo siguiente:
Eso resolvió el problema para mí.
fuente