나는 통합하는 것이 매우처럼 pylint을 내 파이썬 프로젝트의 빌드 프로세스에,하지만 난 하나의 쇼 스토퍼로 실행 한 : 나는 매우 useful-- 찾을 수있는 오류 유형 중 하나 : E1101: *%s %r has no %r
member*
일반 장고 필드를 사용하는 경우 --constantly 오류를보고 예를 들면 다음과 같습니다.
E1101:125:get_user_tags: Class 'Tag' has no 'objects' member
이 코드로 인해 발생합니다.
def get_user_tags(username):
"""
Gets all the tags that username has used.
Returns a query set.
"""
return Tag.objects.filter( ## This line triggers the error.
tagownership__users__username__exact=username).distinct()
# Here is the Tag class, models.Model is provided by Django:
class Tag(models.Model):
"""
Model for user-defined strings that help categorize Events on
on a per-user basis.
"""
name = models.CharField(max_length=500, null=False, unique=True)
def __unicode__(self):
return self.name
Pylint를 조정하여 객체와 같은 필드를 올바르게 고려하려면 어떻게해야합니까? (또한 장고 소스를 살펴본 결과 구현을 찾을 수 없으므로 objects
클래스 필드가 "단지"하지 않은 것 같습니다. 반면에 저는 파이썬에 익숙하지 않습니다. 잘 간과했을 수도 있습니다.)
편집 : 이 경고에 대해 경고하지 않도록 pylint에 알리는 유일한 방법은 유형 (E1101)의 모든 오류를 차단하는 것입니다.이 방법은 용인 할 수없는 솔루션입니다. Pylint 소스를 늘리지 않고 다른 방법이 있으면 구체적으로 알려주십시오. :)
참조 여기에 내가 함께 했어 문제에 대한 요약 pychecker
과 pyflakes
- 그들이 일반적으로 사용하기 위해 지금까지 불안정을 입증했습니다. pychecker의 경우 충돌은 pychecker 코드에서 시작되었습니다.로드 / 호출하는 소스가 아닙니다.