From 2964ed53d73fd0686fd5e36f96f1d3a176961d5e Mon Sep 17 00:00:00 2001 From: Ceesjan Luiten Date: Tue, 31 Mar 2020 09:16:02 +0200 Subject: [PATCH] Improve type of BaseForms.files (#350) This is valid Django, which failed to pass with the old type-defintion: class MyForm(Form): myparam = MultiFileField(...) self.clean(self, *args, **kwargs): self.files.getlist('myparam', []) --- django-stubs/forms/forms.pyi | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/django-stubs/forms/forms.pyi b/django-stubs/forms/forms.pyi index bb876b0..bf9fe45 100644 --- a/django-stubs/forms/forms.pyi +++ b/django-stubs/forms/forms.pyi @@ -1,11 +1,13 @@ from typing import Any, Dict, Iterator, List, Mapping, Optional, Sequence, Type, Union from django.core.exceptions import ValidationError as ValidationError +from django.core.files import uploadedfile from django.forms.boundfield import BoundField from django.forms.fields import Field from django.forms.renderers import BaseRenderer from django.forms.utils import ErrorDict, ErrorList from django.forms.widgets import Media, MediaDefiningClass +from django.utils.datastructures import MultiValueDict from django.utils.safestring import SafeText class DeclarativeFieldsMetaclass(MediaDefiningClass): ... @@ -18,7 +20,7 @@ class BaseForm: use_required_attribute: bool = ... is_bound: bool = ... data: Dict[str, Any] = ... - files: Optional[Dict[str, Any]] = ... + files: MultiValueDict[str, uploadedfile.UploadedFile] = ... auto_id: str = ... initial: Dict[str, Any] = ... error_class: Type[ErrorList] = ...