I came across a Django model like this:
class Car(models.Model):
type = CharField()
...
However, pylint does not issue any warnings about redefining the built-in function type. It is only when I move it out of the class to the global scope pylint warns about this, but not within the class. Is this the expected behavior? If so, how can I override it to show warnings within classes or functions as well?
VSCode 1.61.0
Ubuntu 20.04
Python 3.8.10
CodePudding user response:
I would say this is a normal behaviour as you don't hide type here
since you need to write something like my_car.type to access the
type attribute so there is no risk.
If you still want pylint to warn you about that you can add type
to the list bad-names in your pylintrc file. It will raise a C0104: disallowed-name message.
CodePudding user response:
It doesn't matter, even you redefining the built-in functions such as type out of the class to the global scope, you still can access it through builtins.type in Py3 and __builtin__.type in Py2.
