Через Pylint с Джанго | VPROS.ru

Через Pylint с Джанго

Я бы очень хотел, чтобы интегрировать pylint в процессе сборки для моего питона проектов, но я столкнулся с одним шоу-стоппером: один из видов ошибок, которые я нахожу чрезвычайно полезными–:E1101: *%s %r has no %r member*–постоянно сообщает об ошибках при использовании общих Джанго поля, например:

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, так я подозреваю, что это не “просто” поле класса. С другой стороны, я довольно новыми для Python, поэтому я может что-то проглядели.)

Редактировать: единственный способ я нашел, чтобы сказать pylint, чтобы не предупредить об этих предупреждений является блокирование всех ошибок типа (E1101), который не является приемлемым решением, поскольку это (на мой взгляд) очень полезная ошибка. Если есть другой способ, без увеличения pylint источник, пожалуйста, укажи мне в особенности 🙂

Увидеть здесь краткое изложение проблем, которые я имел с pychecker и pyflakes — они доказали, чтобы быть далеко нестабильна для общего пользования. (В pychecker случае аварий возникла в pychecker код — не источник загрузке/вызова.)

One Reply to “Через Pylint с Джанго”

  1. Решение, предложенное в этом другой вопрос его просто добавить get_attr чтобы ваш тег класса. Некрасиво, но работает.

Comments are closed.