diff --git a/stubs/django-import-export/METADATA.toml b/stubs/django-import-export/METADATA.toml index 7b90af975850..bc47485c7595 100644 --- a/stubs/django-import-export/METADATA.toml +++ b/stubs/django-import-export/METADATA.toml @@ -1,4 +1,4 @@ -version = "4.3.*" +version = "4.4.*" upstream_repository = "https://github.com/django-import-export/django-import-export" requires = ["django-stubs"] # Add tablib when typed, and update _Incomplete aliases in stubs diff --git a/stubs/django-import-export/import_export/widgets.pyi b/stubs/django-import-export/import_export/widgets.pyi index 16296912b39b..1d881a40b164 100644 --- a/stubs/django-import-export/import_export/widgets.pyi +++ b/stubs/django-import-export/import_export/widgets.pyi @@ -65,8 +65,19 @@ class ForeignKeyWidget(Widget, Generic[_ModelT]): self, model: _ModelT, field: str = "pk", use_natural_foreign_keys: bool = False, key_is_id: bool = False, **kwargs: Any ) -> None: ... def get_queryset(self, value: Any, row: Mapping[str, Any], *args: Any, **kwargs: Any) -> QuerySet[_ModelT]: ... + def get_instance_by_natural_key(self, value: str | bytes | bytearray) -> _ModelT: ... + def get_instance_by_lookup_fields(self, value: Any, row: Mapping[str, Any], **kwargs: Any) -> _ModelT: ... def get_lookup_kwargs(self, value: Any, row: Mapping[str, Any] | None = None, **kwargs: Any) -> dict[str, Any]: ... +class _CachedQuerySetWrapper(Generic[_ModelT]): + queryset: QuerySet[_ModelT] + model: type[_ModelT] + def __init__(self, queryset: QuerySet[_ModelT]) -> None: ... + def get(self, **lookup_fields: Any) -> _ModelT: ... # instance can have different fields + +class CachedForeignKeyWidget(ForeignKeyWidget[_ModelT]): + def get_instance_by_lookup_fields(self, value: Any, row: Mapping[str, Any], **kwargs: Any) -> _ModelT: ... + class ManyToManyWidget(Widget, Generic[_ModelT]): model: _ModelT separator: str