Skip to content

Commit 5937d87

Browse files
committed
Change FormMixin.success_url to _StrOrPromise
Update `django.views.generic.edit.FormMixin.success_url` and `django.views.generic.edit.DeletionMixin.success_url` to `_StrOrPromise | None`, to allow using `reverse_lazy()` as attribute value. Fixes ##2768
1 parent 807a80a commit 5937d87

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

django-stubs/views/generic/edit.pyi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ from django.forms.forms import BaseForm
55
from django.forms.models import BaseModelForm
66
from django.http import HttpRequest, HttpResponse
77
from django.utils.datastructures import _ListOrTuple
8+
from django.utils.functional import _StrOrPromise
89
from django.views.generic.base import ContextMixin, TemplateResponseMixin, View
910
from django.views.generic.detail import BaseDetailView, SingleObjectMixin, SingleObjectTemplateResponseMixin
1011

@@ -15,7 +16,7 @@ _M = TypeVar("_M", bound=models.Model)
1516
class FormMixin(Generic[_FormT], ContextMixin):
1617
initial: dict[str, Any]
1718
form_class: type[_FormT] | None
18-
success_url: str | None
19+
success_url: _StrOrPromise | None = None
1920
prefix: str | None
2021
def get_initial(self) -> dict[str, Any]: ...
2122
def get_prefix(self) -> str | None: ...
@@ -59,7 +60,7 @@ class UpdateView(SingleObjectTemplateResponseMixin, BaseUpdateView[_M, _ModelFor
5960
template_name_suffix: str
6061

6162
class DeletionMixin(Generic[_M]):
62-
success_url: str | None
63+
success_url: _StrOrPromise | None = None
6364
object: _M
6465
def post(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ...
6566
def delete(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ...

0 commit comments

Comments
 (0)