1
1
import decimal
2
2
import uuid
3
- from collections .abc import Callable , Iterable , Sequence
3
+ from collections .abc import Callable , Iterable , Mapping , Sequence
4
4
from datetime import date , time , timedelta
5
5
from datetime import datetime as real_datetime
6
6
from typing import Any , ClassVar , Generic , Literal , Protocol , TypeVar , overload
@@ -45,7 +45,8 @@ class _FieldDescriptor(Protocol[_F]):
45
45
def field (self ) -> _F : ...
46
46
47
47
_AllLimitChoicesTo : TypeAlias = _LimitChoicesTo | _ChoicesCallable # noqa: Y047
48
- _ErrorMessagesT : TypeAlias = dict [str , Any ]
48
+ _ErrorMessagesMapping : TypeAlias = Mapping [str , _StrOrPromise ]
49
+ _ErrorMessagesDict : TypeAlias = dict [str , _StrOrPromise ]
49
50
50
51
# __set__ value type
51
52
_ST = TypeVar ("_ST" , contravariant = True )
@@ -143,12 +144,12 @@ class Field(RegisterLookupMixin, Generic[_ST, _GT]):
143
144
column : str
144
145
concrete : bool
145
146
default : Any
146
- error_messages : _ErrorMessagesT
147
+ error_messages : _ErrorMessagesDict
147
148
empty_values : Sequence [Any ]
148
149
creation_counter : int
149
150
auto_creation_counter : int
150
151
default_validators : Sequence [validators ._ValidatorCallable ]
151
- default_error_messages : _ErrorMessagesT
152
+ default_error_messages : _ErrorMessagesDict
152
153
hidden : bool
153
154
system_check_removed_details : Any | None
154
155
system_check_deprecated_details : Any | None
@@ -177,7 +178,7 @@ class Field(RegisterLookupMixin, Generic[_ST, _GT]):
177
178
db_tablespace : str | None = ...,
178
179
auto_created : bool = ...,
179
180
validators : Iterable [validators ._ValidatorCallable ] = ...,
180
- error_messages : _ErrorMessagesT | None = ...,
181
+ error_messages : _ErrorMessagesMapping | None = ...,
181
182
) -> None : ...
182
183
def __set__ (self , instance : Any , value : _ST ) -> None : ...
183
184
# class access
@@ -282,7 +283,7 @@ class DecimalField(Field[_ST, _GT]):
282
283
db_comment : str | None = ...,
283
284
db_tablespace : str | None = ...,
284
285
validators : Iterable [validators ._ValidatorCallable ] = ...,
285
- error_messages : _ErrorMessagesT | None = ...,
286
+ error_messages : _ErrorMessagesMapping | None = ...,
286
287
) -> None : ...
287
288
288
289
class CharField (Field [_ST , _GT ]):
@@ -313,7 +314,7 @@ class CharField(Field[_ST, _GT]):
313
314
db_comment : str | None = ...,
314
315
db_tablespace : str | None = ...,
315
316
validators : Iterable [validators ._ValidatorCallable ] = ...,
316
- error_messages : _ErrorMessagesT | None = ...,
317
+ error_messages : _ErrorMessagesMapping | None = ...,
317
318
* ,
318
319
db_collation : str | None = ...,
319
320
) -> None : ...
@@ -342,7 +343,7 @@ class SlugField(CharField[_ST, _GT]):
342
343
db_comment : str | None = ...,
343
344
db_tablespace : str | None = ...,
344
345
validators : Iterable [validators ._ValidatorCallable ] = ...,
345
- error_messages : _ErrorMessagesT | None = ...,
346
+ error_messages : _ErrorMessagesMapping | None = ...,
346
347
* ,
347
348
max_length : int | None = ...,
348
349
db_index : bool = ...,
@@ -377,7 +378,7 @@ class URLField(CharField[_ST, _GT]):
377
378
db_tablespace : str | None = ...,
378
379
auto_created : bool = ...,
379
380
validators : Iterable [validators ._ValidatorCallable ] = ...,
380
- error_messages : _ErrorMessagesT | None = ...,
381
+ error_messages : _ErrorMessagesMapping | None = ...,
381
382
) -> None : ...
382
383
383
384
class TextField (Field [_ST , _GT ]):
@@ -408,7 +409,7 @@ class TextField(Field[_ST, _GT]):
408
409
db_comment : str | None = ...,
409
410
db_tablespace : str | None = ...,
410
411
validators : Iterable [validators ._ValidatorCallable ] = ...,
411
- error_messages : _ErrorMessagesT | None = ...,
412
+ error_messages : _ErrorMessagesMapping | None = ...,
412
413
* ,
413
414
db_collation : str | None = ...,
414
415
) -> None : ...
@@ -431,7 +432,7 @@ class GenericIPAddressField(Field[_ST, _GT]):
431
432
_pyi_private_set_type : str | int | Callable [..., Any ] | Combinable
432
433
_pyi_private_get_type : str
433
434
434
- default_error_messages : _ErrorMessagesT
435
+ default_error_messages : _ErrorMessagesDict
435
436
unpack_ipv4 : bool
436
437
protocol : str
437
438
def __init__ (
@@ -455,7 +456,7 @@ class GenericIPAddressField(Field[_ST, _GT]):
455
456
db_comment : str | None = ...,
456
457
db_tablespace : str | None = ...,
457
458
validators : Iterable [validators ._ValidatorCallable ] = ...,
458
- error_messages : _ErrorMessagesT | None = ...,
459
+ error_messages : _ErrorMessagesMapping | None = ...,
459
460
) -> None : ...
460
461
461
462
class DateTimeCheckMixin : ...
@@ -489,7 +490,7 @@ class DateField(DateTimeCheckMixin, Field[_ST, _GT]):
489
490
db_comment : str | None = ...,
490
491
db_tablespace : str | None = ...,
491
492
validators : Iterable [validators ._ValidatorCallable ] = ...,
492
- error_messages : _ErrorMessagesT | None = ...,
493
+ error_messages : _ErrorMessagesMapping | None = ...,
493
494
) -> None : ...
494
495
495
496
class TimeField (DateTimeCheckMixin , Field [_ST , _GT ]):
@@ -519,7 +520,7 @@ class TimeField(DateTimeCheckMixin, Field[_ST, _GT]):
519
520
db_comment : str | None = ...,
520
521
db_tablespace : str | None = ...,
521
522
validators : Iterable [validators ._ValidatorCallable ] = ...,
522
- error_messages : _ErrorMessagesT | None = ...,
523
+ error_messages : _ErrorMessagesMapping | None = ...,
523
524
) -> None : ...
524
525
525
526
class DateTimeField (DateField [_ST , _GT ]):
@@ -556,7 +557,7 @@ class UUIDField(Field[_ST, _GT]):
556
557
db_tablespace : str | None = ...,
557
558
auto_created : bool = ...,
558
559
validators : Iterable [validators ._ValidatorCallable ] = ...,
559
- error_messages : _ErrorMessagesT | None = ...,
560
+ error_messages : _ErrorMessagesMapping | None = ...,
560
561
) -> None : ...
561
562
562
563
class FilePathField (Field [_ST , _GT ]):
@@ -591,7 +592,7 @@ class FilePathField(Field[_ST, _GT]):
591
592
db_comment : str | None = ...,
592
593
db_tablespace : str | None = ...,
593
594
validators : Iterable [validators ._ValidatorCallable ] = ...,
594
- error_messages : _ErrorMessagesT | None = ...,
595
+ error_messages : _ErrorMessagesMapping | None = ...,
595
596
) -> None : ...
596
597
597
598
class BinaryField (Field [_ST , _GT ]):
0 commit comments