Как вызывать OneToOneFields без генерации номера пилона (E1101) - PullRequest
0 голосов
/ 06 мая 2019

Я работаю с django и у меня возникли проблемы с вызовом OneToOneFields без генерации пилинта.

вот мой код

class A(models.Model):
    attr_1 = models.BooleanField(default=False)

class B(models.Model):
    a = models.OneToOneField(A, models.CASCADE, null=False)
    other_attr = models.BooleanField(default=False)

my_object = A.objects.first()
print(my_object.b.other_attr)

Когда я запускаю свой pylint, он генерирует E1101 (без члена) в этой строке.

Поскольку я не хочу делать еще один вызов в БД, я не хочу писать что-то вроде этого

my_b_object = B.objects.get(a=my_object)

Есть ли у кого-нибудь идеи как это решить?

PS: цель не поставить ни один

# pylint: disable=E1101

в конце моей строки: -)

спасибо заранее !!!

версия Django -> 1.11.20

версия Pylint -> 2.3.1

1 Ответ

0 голосов
/ 06 мая 2019

Сейчас я отключу эту проблему с Pylint в своем коде и следую за проблемой , упомянутой @evergreen.

Теперь у меня будет

class A(models.Model):
    attr_1 = models.BooleanField(default=False)

class B(models.Model):
    a = models.OneToOneField(A, models.CASCADE, null=False)
    other_attr = models.BooleanField(default=False)

my_object = A.objects.first()
print(my_object.b.other_attr)    # pylint: disable=E1101
...