diff --git a/django-stubs/db/models/base.pyi b/django-stubs/db/models/base.pyi index 1a21036f7..6a792529d 100644 --- a/django-stubs/db/models/base.pyi +++ b/django-stubs/db/models/base.pyi @@ -55,6 +55,7 @@ class Model(metaclass=ModelBase): ) -> ValidationError: ... def save( self, + *, force_insert: bool = ..., force_update: bool = ..., using: str | None = ..., @@ -62,6 +63,7 @@ class Model(metaclass=ModelBase): ) -> None: ... async def asave( self, + *, force_insert: bool = ..., force_update: bool = ..., using: str | None = ..., diff --git a/tests/trout/models.py b/tests/trout/models.py index 6e0713ee1..d552d4b7d 100644 --- a/tests/trout/models.py +++ b/tests/trout/models.py @@ -948,3 +948,11 @@ class Meta: name="author_not_null_idx", ), ] + +# Regression: save/asave stubs were missing *, causing false positives on **kwargs overrides +class SaveOverrideModel(models.Model): + def save(self, **kwargs): # type: ignore[no-untyped-def] + super().save(**kwargs) + + async def asave(self, **kwargs): # type: ignore[no-untyped-def] + await super().asave(**kwargs) \ No newline at end of file