1
1
from _typeshed import Incomplete
2
- from collections .abc import Callable
2
+ from collections .abc import Callable , Sequence
3
3
from logging import Logger
4
- from typing import Any , TypeVar
4
+ from typing import Any , Literal , TypeVar
5
5
from typing_extensions import TypeAlias , deprecated
6
6
7
7
from django .contrib import admin
8
8
from django .contrib .admin .helpers import ActionForm
9
9
from django .core .files import File
10
10
from django .db .models import Model , QuerySet
11
- from django .forms import Form , Media
11
+ from django .forms import Form
12
12
from django .http .request import HttpRequest
13
13
from django .http .response import HttpResponse
14
14
from django .template .response import TemplateResponse
@@ -38,33 +38,21 @@ class ImportMixin(BaseImportMixin[_ModelT], ImportExportMixinBase):
38
38
import_form_class : type [Form ] = ...
39
39
confirm_form_class : type [Form ] = ...
40
40
from_encoding : str
41
+ import_error_display : Sequence [Literal ["message" , "row" , "traceback" ]]
41
42
skip_admin_log : bool | None
42
43
tmp_storage_class : str | type [BaseStorage ]
43
44
def get_skip_admin_log (self ) -> bool : ...
44
45
def get_tmp_storage_class (self ) -> type [BaseStorage ]: ...
46
+ def get_tmp_storage_class_kwargs (self ) -> dict [str , Any ]: ...
45
47
def has_import_permission (self , request : HttpRequest ) -> bool : ...
46
48
def get_urls (self ) -> list [URLPattern ]: ...
47
- def process_import (self , request : HttpRequest , * args : Any , ** kwargs : Any ) -> HttpResponse : ...
48
- def process_dataset (
49
- self ,
50
- dataset : Dataset ,
51
- confirm_form : Form ,
52
- request : HttpRequest ,
53
- * args : Any ,
54
- rollback_on_validation_errors : bool = False ,
55
- ** kwargs : Any ,
56
- ) -> Result : ...
49
+ def process_import (self , request : HttpRequest , ** kwargs : Any ) -> HttpResponse : ...
50
+ def process_dataset (self , dataset : Dataset , form : Form , request : HttpRequest , ** kwargs : Any ) -> Result : ...
57
51
def process_result (self , result : Result , request : HttpRequest ) -> HttpResponse : ...
58
52
def generate_log_entries (self , result : Result , request : HttpRequest ) -> None : ...
59
53
def add_success_message (self , result : Result , request : HttpRequest ) -> None : ...
60
54
def get_import_context_data (self , ** kwargs : Any ) -> dict [str , Any ]: ...
61
55
def get_context_data (self , ** kwargs : Any ) -> dict [str , Any ]: ...
62
- @deprecated ("Use get_import_form_class instead" )
63
- def get_import_form (self ) -> type [Form ]: ...
64
- @deprecated ("Use get_confirm_form_class instead" )
65
- def get_confirm_import_form (self ) -> type [Form ]: ...
66
- @deprecated ("Use get_import_form_kwargs or get_confirm_form_kwargs" )
67
- def get_form_kwargs (self , form : Form , * args : Any , ** kwargs : Any ) -> dict [str , Any ]: ...
68
56
def create_import_form (self , request : HttpRequest ) -> Form : ...
69
57
def get_import_form_class (self , request : HttpRequest ) -> type [Form ]: ...
70
58
def get_import_form_kwargs (self , request : HttpRequest ) -> dict [str , Any ]: ...
@@ -73,42 +61,49 @@ class ImportMixin(BaseImportMixin[_ModelT], ImportExportMixinBase):
73
61
def get_confirm_form_class (self , request : HttpRequest ) -> type [Form ]: ...
74
62
def get_confirm_form_kwargs (self , request : HttpRequest , import_form : Form | None = None ) -> dict [str , Any ]: ...
75
63
def get_confirm_form_initial (self , request : HttpRequest , import_form : Form | None ) -> dict [str , Any ]: ...
76
- def get_import_data_kwargs (self , request : HttpRequest , * args : Any , ** kwargs : Any ) -> dict [str , Any ]: ...
64
+ def get_import_data_kwargs (self , ** kwargs : Any ) -> dict [str , Any ]: ...
77
65
def write_to_tmp_storage (self , import_file : File [bytes ], input_format : Format ) -> BaseStorage : ...
78
66
def add_data_read_fail_error_to_form (self , form : Form , e : Exception ) -> None : ...
79
- def import_action (self , request : HttpRequest , * args : Any , * *kwargs : Any ) -> TemplateResponse : ...
67
+ def import_action (self , request : HttpRequest , ** kwargs : Any ) -> TemplateResponse : ...
80
68
def changelist_view (self , request : HttpRequest , extra_context : dict [str , Any ] | None = None ) -> HttpResponse : ...
81
69
82
70
class ExportMixin (BaseExportMixin [_ModelT ], ImportExportMixinBase ):
83
- import_export_change_list_template : str | None
71
+ import_export_change_list_template : str
84
72
export_template_name : str
85
73
to_encoding : str | None
86
74
export_form_class : type [Form ] = ...
87
75
def get_urls (self ) -> list [URLPattern ]: ...
88
76
def has_export_permission (self , request : HttpRequest ) -> bool : ...
89
77
def get_export_queryset (self , request : HttpRequest ) -> QuerySet [_ModelT ]: ...
90
- def get_export_data (self , file_format : Format , queryset : QuerySet [_ModelT ], * args : Any , ** kwargs : Any ) -> str | bytes : ...
78
+ def get_export_data (
79
+ self , file_format : Format , request : HttpRequest , queryset : QuerySet [_ModelT ], ** kwargs : Any
80
+ ) -> str | bytes : ...
91
81
def get_export_context_data (self , ** kwargs : Any ) -> dict [str , Any ]: ...
92
82
def get_context_data (self , ** kwargs : Any ) -> dict [str , Any ]: ...
93
- @deprecated ("Use get_export_form_class or use the export_form_class attribute" )
94
- def get_export_form (self ) -> Form : ...
95
83
def get_export_form_class (self ) -> type [Form ]: ...
96
- def export_action (self , request : HttpRequest , * args : Any , ** kwargs : Any ) -> TemplateResponse : ...
84
+ def export_action (self , request : HttpRequest ) -> TemplateResponse : ...
85
+ @deprecated (
86
+ "The 'get_valid_export_item_pks()' method is deprecated and will be removed in a future release. "
87
+ "Overwrite 'get_queryset()' or 'get_export_queryset()' instead."
88
+ )
89
+ def get_valid_export_item_pks (self , request : HttpRequest ) -> list [str ]: ...
97
90
def changelist_view (self , request : HttpRequest , extra_context : dict [str , Any ] | None = None ) -> HttpResponse : ...
98
91
def get_export_filename (self , request : HttpRequest , queryset : QuerySet [_ModelT ], file_format : Format ) -> str : ... # type: ignore[override]
92
+ def init_request_context_data (self , request : HttpRequest , form : Form ) -> dict [str , Any ]: ...
99
93
100
- class ImportExportMixin (ImportMixin [_ModelT ], ExportMixin [_ModelT ]):
101
- import_export_change_list_template : str
102
-
94
+ class ImportExportMixin (ImportMixin [_ModelT ], ExportMixin [_ModelT ]): ...
103
95
class ImportExportModelAdmin (ImportExportMixin [_ModelT ], admin .ModelAdmin [_ModelT ]): ... # type: ignore[misc]
104
96
105
97
class ExportActionMixin (ExportMixin [_ModelT ]):
98
+ change_form_template : str
99
+ show_change_form_export : bool
106
100
action_form : type [ActionForm ]
107
- def __init__ (self , * args : Any , ** kwargs : Any ) -> None : ...
101
+ def change_view (
102
+ self , request : HttpRequest , object_id : str , form_url : str = "" , extra_context : dict [str , Any ] | None = None
103
+ ) -> HttpResponse : ...
104
+ def response_change (self , request : HttpRequest , obj : _ModelT ) -> HttpResponse : ...
108
105
def export_admin_action (self , request : HttpRequest , queryset : QuerySet [_ModelT ]) -> HttpResponse : ...
109
106
def get_actions (self , request : HttpRequest ) -> dict [str , tuple [Callable [..., str ], str , str ] | None ]: ...
110
- @property
111
- def media (self ) -> Media : ...
112
107
113
108
class ExportActionModelAdmin (ExportActionMixin [_ModelT ], admin .ModelAdmin [_ModelT ]): ... # type: ignore[misc]
114
109
class ImportExportActionModelAdmin (ImportMixin [_ModelT ], ExportActionModelAdmin [_ModelT ]): ... # type: ignore[misc]
0 commit comments