diff --git a/pylint_django/checkers/forms.py b/pylint_django/checkers/forms.py index 7605ec38..007504cb 100644 --- a/pylint_django/checkers/forms.py +++ b/pylint_django/checkers/forms.py @@ -1,5 +1,5 @@ """Models.""" -from astroid.nodes import Assign, ClassDef +from astroid.nodes import Assign, AssignName, ClassDef from pylint.interfaces import IAstroidChecker from pylint.checkers.utils import check_messages @@ -41,7 +41,8 @@ def visit_classdef(self, node): return for child in meta.get_children(): - if not isinstance(child, Assign): + if (not isinstance(child, Assign) + or not isinstance(child.targets[0], AssignName)): continue if child.targets[0].name == 'exclude': diff --git a/pylint_django/tests/input/func_noerror_forms_py33.py b/pylint_django/tests/input/func_noerror_forms_py33.py index 38912282..e8a5291c 100644 --- a/pylint_django/tests/input/func_noerror_forms_py33.py +++ b/pylint_django/tests/input/func_noerror_forms_py33.py @@ -31,3 +31,12 @@ class Meta: class TestModelFormSubclass(forms.ModelForm): class Meta: pass + + +class TestFormWidgetAssignment(forms.Form): + + multi_field = forms.MultipleChoiceField(choices=[('1', 'First'), ('2', 'Second')]) + + class Meta: + widgets = {} + widgets['multi_field'] = forms.CheckboxSelectMultiple