django-types 0.19.1__py3-none-any.whl → 0.21.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. django-stubs/contrib/admin/__init__.pyi +1 -0
  2. django-stubs/contrib/admin/actions.pyi +2 -2
  3. django-stubs/contrib/admin/decorators.pyi +4 -3
  4. django-stubs/contrib/admin/filters.pyi +5 -5
  5. django-stubs/contrib/admin/models.pyi +23 -11
  6. django-stubs/contrib/admin/options.pyi +67 -38
  7. django-stubs/contrib/admin/sites.pyi +11 -11
  8. django-stubs/contrib/admin/templatetags/base.pyi +1 -1
  9. django-stubs/contrib/admin/utils.pyi +2 -2
  10. django-stubs/contrib/admin/views/autocomplete.pyi +2 -2
  11. django-stubs/contrib/admin/views/main.pyi +8 -7
  12. django-stubs/contrib/admindocs/middleware.pyi +2 -2
  13. django-stubs/contrib/auth/__init__.pyi +14 -4
  14. django-stubs/contrib/auth/admin.pyi +2 -2
  15. django-stubs/contrib/auth/backends.pyi +22 -0
  16. django-stubs/contrib/auth/base_user.pyi +3 -3
  17. django-stubs/contrib/auth/forms.pyi +1 -1
  18. django-stubs/contrib/auth/middleware.pyi +1 -2
  19. django-stubs/contrib/auth/models.pyi +50 -26
  20. django-stubs/contrib/auth/views.pyi +1 -2
  21. django-stubs/contrib/contenttypes/fields.pyi +1 -1
  22. django-stubs/contrib/contenttypes/models.pyi +3 -1
  23. django-stubs/contrib/flatpages/middleware.pyi +2 -2
  24. django-stubs/contrib/flatpages/views.pyi +3 -3
  25. django-stubs/contrib/postgres/fields/array.pyi +6 -5
  26. django-stubs/contrib/postgres/fields/citext.pyi +13 -8
  27. django-stubs/contrib/postgres/fields/hstore.pyi +5 -4
  28. django-stubs/contrib/staticfiles/finders.pyi +1 -2
  29. django-stubs/contrib/staticfiles/views.pyi +2 -2
  30. django-stubs/contrib/syndication/views.pyi +4 -4
  31. django-stubs/core/cache/backends/base.pyi +9 -0
  32. django-stubs/core/exceptions.pyi +18 -11
  33. django-stubs/core/files/base.pyi +1 -1
  34. django-stubs/core/files/storage.pyi +2 -2
  35. django-stubs/core/mail/__init__.pyi +1 -1
  36. django-stubs/core/mail/backends/base.pyi +1 -0
  37. django-stubs/core/mail/message.pyi +6 -6
  38. django-stubs/core/serializers/json.pyi +1 -1
  39. django-stubs/core/servers/basehttp.pyi +2 -2
  40. django-stubs/db/backends/utils.pyi +1 -2
  41. django-stubs/db/migrations/recorder.pyi +1 -1
  42. django-stubs/db/models/base.pyi +9 -3
  43. django-stubs/db/models/constraints.pyi +1 -0
  44. django-stubs/db/models/enums.pyi +10 -19
  45. django-stubs/db/models/expressions.pyi +1 -1
  46. django-stubs/db/models/fields/__init__.pyi +227 -77
  47. django-stubs/db/models/fields/files.pyi +2 -2
  48. django-stubs/db/models/fields/json.pyi +10 -6
  49. django-stubs/db/models/fields/related.pyi +42 -20
  50. django-stubs/db/models/fields/related_descriptors.pyi +3 -3
  51. django-stubs/db/models/functions/__init__.pyi +2 -0
  52. django-stubs/db/models/functions/comparison.pyi +8 -0
  53. django-stubs/db/models/manager.pyi +11 -6
  54. django-stubs/db/models/query.pyi +4 -1
  55. django-stubs/db/models/query_utils.pyi +1 -0
  56. django-stubs/db/transaction.pyi +7 -1
  57. django-stubs/forms/boundfield.pyi +3 -1
  58. django-stubs/forms/forms.pyi +28 -35
  59. django-stubs/forms/formsets.pyi +98 -63
  60. django-stubs/forms/models.pyi +22 -17
  61. django-stubs/forms/renderers.pyi +26 -13
  62. django-stubs/forms/utils.pyi +38 -11
  63. django-stubs/http/cookie.pyi +3 -1
  64. django-stubs/http/request.pyi +43 -16
  65. django-stubs/http/response.pyi +38 -30
  66. django-stubs/shortcuts.pyi +1 -2
  67. django-stubs/template/backends/base.pyi +14 -5
  68. django-stubs/template/backends/django.pyi +24 -3
  69. django-stubs/template/backends/dummy.pyi +7 -6
  70. django-stubs/template/backends/jinja2.pyi +20 -2
  71. django-stubs/template/backends/utils.pyi +3 -3
  72. django-stubs/template/base.pyi +2 -2
  73. django-stubs/template/context.pyi +2 -2
  74. django-stubs/template/context_processors.pyi +1 -2
  75. django-stubs/template/library.pyi +79 -15
  76. django-stubs/template/loader.pyi +5 -3
  77. django-stubs/template/response.pyi +3 -3
  78. django-stubs/template/utils.pyi +6 -4
  79. django-stubs/test/client.pyi +176 -20
  80. django-stubs/test/testcases.pyi +4 -4
  81. django-stubs/test/utils.pyi +41 -55
  82. django-stubs/urls/base.pyi +18 -2
  83. django-stubs/urls/conf.pyi +7 -0
  84. django-stubs/utils/cache.pyi +4 -4
  85. django-stubs/utils/datastructures.pyi +5 -5
  86. django-stubs/utils/deconstruct.pyi +10 -2
  87. django-stubs/utils/log.pyi +1 -1
  88. django-stubs/utils/six.pyi +1 -1
  89. django-stubs/utils/translation/__init__.pyi +5 -3
  90. django-stubs/utils/translation/trans_real.pyi +2 -2
  91. django-stubs/views/decorators/csrf.pyi +1 -1
  92. django-stubs/views/generic/edit.pyi +1 -2
  93. {django_types-0.19.1.dist-info → django_types-0.21.0.dist-info}/METADATA +12 -8
  94. {django_types-0.19.1.dist-info → django_types-0.21.0.dist-info}/RECORD +96 -96
  95. {django_types-0.19.1.dist-info → django_types-0.21.0.dist-info}/WHEEL +1 -1
  96. {django_types-0.19.1.dist-info → django_types-0.21.0.dist-info}/LICENSE.txt +0 -0
@@ -1,15 +1,15 @@
1
1
  import decimal
2
2
  import ipaddress
3
3
  import uuid
4
- from collections.abc import Callable, Iterable, Sequence
4
+ from collections.abc import Callable, Iterable, Mapping, Sequence
5
5
  from datetime import date, datetime, time, timedelta
6
- from typing import Any, Generic, TypeVar, overload
7
- from typing_extensions import Literal, Self
6
+ from typing import Any, Generic, Literal, TypeVar, overload
7
+ from typing_extensions import Self
8
8
 
9
9
  from django.core.checks import CheckMessage
10
10
  from django.core.exceptions import FieldDoesNotExist as FieldDoesNotExist
11
- from django.db.models import Model
12
- from django.db.models.expressions import Col, Combinable
11
+ from django.db.models import Model, TextChoices
12
+ from django.db.models.expressions import Col, Combinable, Func
13
13
  from django.db.models.query_utils import RegisterLookupMixin
14
14
  from django.forms import Widget
15
15
 
@@ -17,7 +17,9 @@ BLANK_CHOICE_DASH: list[tuple[str, str]] = ...
17
17
 
18
18
  _Choice = tuple[Any, str]
19
19
  _ChoiceNamedGroup = tuple[str, Iterable[_Choice]]
20
- _FieldChoices = Iterable[_Choice | _ChoiceNamedGroup]
20
+ _ChoicesMapping = Mapping[Any, str | Mapping[Any, str]]
21
+ _LiteralFieldChoices = Iterable[_Choice | _ChoiceNamedGroup] | _ChoicesMapping
22
+ _FieldChoices = _LiteralFieldChoices | Callable[[], _LiteralFieldChoices]
21
23
 
22
24
  _ValidatorCallable = Callable[..., None]
23
25
  _ErrorMessagesToOverride = dict[str, Any]
@@ -54,8 +56,10 @@ class Field(RegisterLookupMixin, Generic[_ST, _GT]):
54
56
  empty_strings_allowed: bool = ...
55
57
  choices: _FieldChoices = ...
56
58
  db_column: str | None
59
+ db_comment: str | None
57
60
  column: str
58
61
  default: Any
62
+ db_default: Any
59
63
  error_messages: _ErrorMessagesToOverride
60
64
  def __set__(self, instance: Any, value: _ST) -> None: ...
61
65
  # class access
@@ -111,17 +115,19 @@ _I = TypeVar("_I", bound=int | None)
111
115
 
112
116
  class IntegerField(Generic[_I], Field[_I | Combinable, _I]):
113
117
  @overload
114
- def __new__( # type: ignore [misc]
118
+ def __new__(
115
119
  cls,
116
120
  verbose_name: str | None = ...,
121
+ *,
117
122
  name: str | None = ...,
118
123
  primary_key: bool = ...,
119
124
  max_length: int | None = ...,
120
125
  unique: bool = ...,
121
126
  blank: bool = ...,
122
- null: Literal[False] = ...,
127
+ null: Literal[False] = False,
123
128
  db_index: bool = ...,
124
129
  default: _I | Callable[[], _I] | None = ...,
130
+ db_default: _I | Func | None = ...,
125
131
  editable: bool = ...,
126
132
  auto_created: bool = ...,
127
133
  serialize: bool = ...,
@@ -131,6 +137,7 @@ class IntegerField(Generic[_I], Field[_I | Combinable, _I]):
131
137
  choices: Iterable[tuple[_I, str] | tuple[str, Iterable[tuple[_I, str]]]] = ...,
132
138
  help_text: str = ...,
133
139
  db_column: str | None = ...,
140
+ db_comment: str | None = ...,
134
141
  db_tablespace: str | None = ...,
135
142
  validators: Iterable[_ValidatorCallable] = ...,
136
143
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -139,14 +146,16 @@ class IntegerField(Generic[_I], Field[_I | Combinable, _I]):
139
146
  def __new__(
140
147
  cls,
141
148
  verbose_name: str | None = ...,
149
+ *,
142
150
  name: str | None = ...,
143
151
  primary_key: bool = ...,
144
152
  max_length: int | None = ...,
145
153
  unique: bool = ...,
146
154
  blank: bool = ...,
147
- null: Literal[True] = ...,
155
+ null: Literal[True],
148
156
  db_index: bool = ...,
149
157
  default: _I | Callable[[], _I] = ...,
158
+ db_default: _I | Func = ...,
150
159
  editable: bool = ...,
151
160
  auto_created: bool = ...,
152
161
  serialize: bool = ...,
@@ -156,6 +165,7 @@ class IntegerField(Generic[_I], Field[_I | Combinable, _I]):
156
165
  choices: Iterable[tuple[_I, str] | tuple[str, Iterable[tuple[_I, str]]]] = ...,
157
166
  help_text: str = ...,
158
167
  db_column: str | None = ...,
168
+ db_comment: str | None = ...,
159
169
  db_tablespace: str | None = ...,
160
170
  validators: Iterable[_ValidatorCallable] = ...,
161
171
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -166,17 +176,19 @@ class PositiveIntegerRelDbTypeMixin:
166
176
 
167
177
  class PositiveIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField[_I]):
168
178
  @overload
169
- def __new__( # type: ignore [misc]
179
+ def __new__(
170
180
  cls,
171
181
  verbose_name: str | None = ...,
182
+ *,
172
183
  name: str | None = ...,
173
184
  primary_key: bool = ...,
174
185
  max_length: int | None = ...,
175
186
  unique: bool = ...,
176
187
  blank: bool = ...,
177
- null: Literal[False] = ...,
188
+ null: Literal[False] = False,
178
189
  db_index: bool = ...,
179
190
  default: _I | Callable[[], _I] | None = ...,
191
+ db_default: _I | Func | None = ...,
180
192
  editable: bool = ...,
181
193
  auto_created: bool = ...,
182
194
  serialize: bool = ...,
@@ -186,6 +198,7 @@ class PositiveIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField[_I]):
186
198
  choices: Iterable[tuple[_I, str] | tuple[str, Iterable[tuple[_I, str]]]] = ...,
187
199
  help_text: str = ...,
188
200
  db_column: str | None = ...,
201
+ db_comment: str | None = ...,
189
202
  db_tablespace: str | None = ...,
190
203
  validators: Iterable[_ValidatorCallable] = ...,
191
204
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -194,14 +207,16 @@ class PositiveIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField[_I]):
194
207
  def __new__(
195
208
  cls,
196
209
  verbose_name: str | None = ...,
210
+ *,
197
211
  name: str | None = ...,
198
212
  primary_key: bool = ...,
199
213
  max_length: int | None = ...,
200
214
  unique: bool = ...,
201
215
  blank: bool = ...,
202
- null: Literal[True] = ...,
216
+ null: Literal[True],
203
217
  db_index: bool = ...,
204
218
  default: _I | Callable[[], _I] = ...,
219
+ db_default: _I | Func = ...,
205
220
  editable: bool = ...,
206
221
  auto_created: bool = ...,
207
222
  serialize: bool = ...,
@@ -211,6 +226,7 @@ class PositiveIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField[_I]):
211
226
  choices: Iterable[tuple[_I, str] | tuple[str, Iterable[tuple[_I, str]]]] = ...,
212
227
  help_text: str = ...,
213
228
  db_column: str | None = ...,
229
+ db_comment: str | None = ...,
214
230
  db_tablespace: str | None = ...,
215
231
  validators: Iterable[_ValidatorCallable] = ...,
216
232
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -218,17 +234,19 @@ class PositiveIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField[_I]):
218
234
 
219
235
  class PositiveSmallIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField[_I]):
220
236
  @overload
221
- def __new__( # type: ignore [misc]
237
+ def __new__(
222
238
  cls,
223
239
  verbose_name: str | None = ...,
240
+ *,
224
241
  name: str | None = ...,
225
242
  primary_key: bool = ...,
226
243
  max_length: int | None = ...,
227
244
  unique: bool = ...,
228
245
  blank: bool = ...,
229
- null: Literal[False] = ...,
246
+ null: Literal[False] = False,
230
247
  db_index: bool = ...,
231
248
  default: _I | Callable[[], _I] | None = ...,
249
+ db_default: _I | Func | None = ...,
232
250
  editable: bool = ...,
233
251
  auto_created: bool = ...,
234
252
  serialize: bool = ...,
@@ -246,14 +264,16 @@ class PositiveSmallIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField[_I])
246
264
  def __new__(
247
265
  cls,
248
266
  verbose_name: str | None = ...,
267
+ *,
249
268
  name: str | None = ...,
250
269
  primary_key: bool = ...,
251
270
  max_length: int | None = ...,
252
271
  unique: bool = ...,
253
272
  blank: bool = ...,
254
- null: Literal[True] = ...,
273
+ null: Literal[True],
255
274
  db_index: bool = ...,
256
275
  default: _I | Callable[[], _I] = ...,
276
+ db_default: _I | Func = ...,
257
277
  editable: bool = ...,
258
278
  auto_created: bool = ...,
259
279
  serialize: bool = ...,
@@ -263,6 +283,7 @@ class PositiveSmallIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField[_I])
263
283
  choices: Iterable[tuple[_I, str] | tuple[str, Iterable[tuple[_I, str]]]] = ...,
264
284
  help_text: str = ...,
265
285
  db_column: str | None = ...,
286
+ db_comment: str | None = ...,
266
287
  db_tablespace: str | None = ...,
267
288
  validators: Iterable[_ValidatorCallable] = ...,
268
289
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -270,17 +291,19 @@ class PositiveSmallIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField[_I])
270
291
 
271
292
  class SmallIntegerField(IntegerField[_I]):
272
293
  @overload
273
- def __new__( # type: ignore [misc]
294
+ def __new__(
274
295
  cls,
275
296
  verbose_name: str | None = ...,
297
+ *,
276
298
  name: str | None = ...,
277
299
  primary_key: bool = ...,
278
300
  max_length: int | None = ...,
279
301
  unique: bool = ...,
280
302
  blank: bool = ...,
281
- null: Literal[False] = ...,
303
+ null: Literal[False] = False,
282
304
  db_index: bool = ...,
283
305
  default: _I | Callable[[], _I] | None = ...,
306
+ db_default: _I | Func | None = ...,
284
307
  editable: bool = ...,
285
308
  auto_created: bool = ...,
286
309
  serialize: bool = ...,
@@ -290,6 +313,7 @@ class SmallIntegerField(IntegerField[_I]):
290
313
  choices: Iterable[tuple[_I, str] | tuple[str, Iterable[tuple[_I, str]]]] = ...,
291
314
  help_text: str = ...,
292
315
  db_column: str | None = ...,
316
+ db_comment: str | None = ...,
293
317
  db_tablespace: str | None = ...,
294
318
  validators: Iterable[_ValidatorCallable] = ...,
295
319
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -298,14 +322,16 @@ class SmallIntegerField(IntegerField[_I]):
298
322
  def __new__(
299
323
  cls,
300
324
  verbose_name: str | None = ...,
325
+ *,
301
326
  name: str | None = ...,
302
327
  primary_key: bool = ...,
303
328
  max_length: int | None = ...,
304
329
  unique: bool = ...,
305
330
  blank: bool = ...,
306
- null: Literal[True] = ...,
331
+ null: Literal[True],
307
332
  db_index: bool = ...,
308
333
  default: _I | Callable[[], _I] = ...,
334
+ db_default: _I | Func = ...,
309
335
  editable: bool = ...,
310
336
  auto_created: bool = ...,
311
337
  serialize: bool = ...,
@@ -315,6 +341,7 @@ class SmallIntegerField(IntegerField[_I]):
315
341
  choices: Iterable[tuple[_I, str] | tuple[str, Iterable[tuple[_I, str]]]] = ...,
316
342
  help_text: str = ...,
317
343
  db_column: str | None = ...,
344
+ db_comment: str | None = ...,
318
345
  db_tablespace: str | None = ...,
319
346
  validators: Iterable[_ValidatorCallable] = ...,
320
347
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -322,17 +349,19 @@ class SmallIntegerField(IntegerField[_I]):
322
349
 
323
350
  class BigIntegerField(IntegerField[_I]):
324
351
  @overload
325
- def __new__( # type: ignore [misc]
352
+ def __new__(
326
353
  cls,
327
354
  verbose_name: str | None = ...,
355
+ *,
328
356
  name: str | None = ...,
329
357
  primary_key: bool = ...,
330
358
  max_length: int | None = ...,
331
359
  unique: bool = ...,
332
360
  blank: bool = ...,
333
- null: Literal[False] = ...,
361
+ null: Literal[False] = False,
334
362
  db_index: bool = ...,
335
363
  default: _I | Callable[[], _I] | None = ...,
364
+ db_default: _I | Func | None = ...,
336
365
  editable: bool = ...,
337
366
  auto_created: bool = ...,
338
367
  serialize: bool = ...,
@@ -342,6 +371,7 @@ class BigIntegerField(IntegerField[_I]):
342
371
  choices: Iterable[tuple[_I, str] | tuple[str, Iterable[tuple[_I, str]]]] = ...,
343
372
  help_text: str = ...,
344
373
  db_column: str | None = ...,
374
+ db_comment: str | None = ...,
345
375
  db_tablespace: str | None = ...,
346
376
  validators: Iterable[_ValidatorCallable] = ...,
347
377
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -350,14 +380,16 @@ class BigIntegerField(IntegerField[_I]):
350
380
  def __new__(
351
381
  cls,
352
382
  verbose_name: str | None = ...,
383
+ *,
353
384
  name: str | None = ...,
354
385
  primary_key: bool = ...,
355
386
  max_length: int | None = ...,
356
387
  unique: bool = ...,
357
388
  blank: bool = ...,
358
- null: Literal[True] = ...,
389
+ null: Literal[True],
359
390
  db_index: bool = ...,
360
391
  default: _I | Callable[[], _I] = ...,
392
+ db_default: _I | Func = ...,
361
393
  editable: bool = ...,
362
394
  auto_created: bool = ...,
363
395
  serialize: bool = ...,
@@ -367,6 +399,7 @@ class BigIntegerField(IntegerField[_I]):
367
399
  choices: Iterable[tuple[_I, str] | tuple[str, Iterable[tuple[_I, str]]]] = ...,
368
400
  help_text: str = ...,
369
401
  db_column: str | None = ...,
402
+ db_comment: str | None = ...,
370
403
  db_tablespace: str | None = ...,
371
404
  validators: Iterable[_ValidatorCallable] = ...,
372
405
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -374,17 +407,19 @@ class BigIntegerField(IntegerField[_I]):
374
407
 
375
408
  class PositiveBigIntegerField(IntegerField[_I]):
376
409
  @overload
377
- def __new__( # type: ignore [misc]
410
+ def __new__(
378
411
  cls,
379
412
  verbose_name: str | None = ...,
413
+ *,
380
414
  name: str | None = ...,
381
415
  primary_key: bool = ...,
382
416
  max_length: int | None = ...,
383
417
  unique: bool = ...,
384
418
  blank: bool = ...,
385
- null: Literal[False] = ...,
419
+ null: Literal[False] = False,
386
420
  db_index: bool = ...,
387
421
  default: _I | Callable[[], _I] | None = ...,
422
+ db_default: _I | Func | None = ...,
388
423
  editable: bool = ...,
389
424
  auto_created: bool = ...,
390
425
  serialize: bool = ...,
@@ -394,6 +429,7 @@ class PositiveBigIntegerField(IntegerField[_I]):
394
429
  choices: Iterable[tuple[_I, str] | tuple[str, Iterable[tuple[_I, str]]]] = ...,
395
430
  help_text: str = ...,
396
431
  db_column: str | None = ...,
432
+ db_comment: str | None = ...,
397
433
  db_tablespace: str | None = ...,
398
434
  validators: Iterable[_ValidatorCallable] = ...,
399
435
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -402,14 +438,16 @@ class PositiveBigIntegerField(IntegerField[_I]):
402
438
  def __new__(
403
439
  cls,
404
440
  verbose_name: str | None = ...,
441
+ *,
405
442
  name: str | None = ...,
406
443
  primary_key: bool = ...,
407
444
  max_length: int | None = ...,
408
445
  unique: bool = ...,
409
446
  blank: bool = ...,
410
- null: Literal[True] = ...,
447
+ null: Literal[True],
411
448
  db_index: bool = ...,
412
449
  default: _I | Callable[[], _I] = ...,
450
+ db_default: _I | Func = ...,
413
451
  editable: bool = ...,
414
452
  auto_created: bool = ...,
415
453
  serialize: bool = ...,
@@ -419,6 +457,7 @@ class PositiveBigIntegerField(IntegerField[_I]):
419
457
  choices: Iterable[tuple[_I, str] | tuple[str, Iterable[tuple[_I, str]]]] = ...,
420
458
  help_text: str = ...,
421
459
  db_column: str | None = ...,
460
+ db_comment: str | None = ...,
422
461
  db_tablespace: str | None = ...,
423
462
  validators: Iterable[_ValidatorCallable] = ...,
424
463
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -428,17 +467,19 @@ _F = TypeVar("_F", bound=float | None)
428
467
 
429
468
  class FloatField(Generic[_F], Field[_F | Combinable, _F]):
430
469
  @overload
431
- def __new__( # type: ignore [misc]
470
+ def __new__(
432
471
  cls,
433
472
  verbose_name: str | None = ...,
473
+ *,
434
474
  name: str | None = ...,
435
475
  primary_key: bool = ...,
436
476
  max_length: int | None = ...,
437
477
  unique: bool = ...,
438
478
  blank: bool = ...,
439
- null: Literal[False] = ...,
479
+ null: Literal[False] = False,
440
480
  db_index: bool = ...,
441
481
  default: _F | Callable[[], _F] | None = ...,
482
+ db_default: _F | Func | None = ...,
442
483
  editable: bool = ...,
443
484
  auto_created: bool = ...,
444
485
  serialize: bool = ...,
@@ -448,6 +489,7 @@ class FloatField(Generic[_F], Field[_F | Combinable, _F]):
448
489
  choices: Iterable[tuple[_F, str] | tuple[str, Iterable[tuple[_F, str]]]] = ...,
449
490
  help_text: str = ...,
450
491
  db_column: str | None = ...,
492
+ db_comment: str | None = ...,
451
493
  db_tablespace: str | None = ...,
452
494
  validators: Iterable[_ValidatorCallable] = ...,
453
495
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -456,14 +498,16 @@ class FloatField(Generic[_F], Field[_F | Combinable, _F]):
456
498
  def __new__(
457
499
  cls,
458
500
  verbose_name: str | None = ...,
501
+ *,
459
502
  name: str | None = ...,
460
503
  primary_key: bool = ...,
461
504
  max_length: int | None = ...,
462
505
  unique: bool = ...,
463
506
  blank: bool = ...,
464
- null: Literal[True] = ...,
507
+ null: Literal[True],
465
508
  db_index: bool = ...,
466
509
  default: _F | Callable[[], _F] = ...,
510
+ db_default: _F | Func = ...,
467
511
  editable: bool = ...,
468
512
  auto_created: bool = ...,
469
513
  serialize: bool = ...,
@@ -473,6 +517,7 @@ class FloatField(Generic[_F], Field[_F | Combinable, _F]):
473
517
  choices: Iterable[tuple[_F, str] | tuple[str, Iterable[tuple[_F, str]]]] = ...,
474
518
  help_text: str = ...,
475
519
  db_column: str | None = ...,
520
+ db_comment: str | None = ...,
476
521
  db_tablespace: str | None = ...,
477
522
  validators: Iterable[_ValidatorCallable] = ...,
478
523
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -485,9 +530,10 @@ class DecimalField(Generic[_DEC], Field[_DEC | Combinable, _DEC]):
485
530
  max_digits: int = ...
486
531
  decimal_places: int = ...
487
532
  @overload
488
- def __new__( # type: ignore [misc]
533
+ def __new__(
489
534
  cls,
490
535
  verbose_name: str | None = ...,
536
+ *,
491
537
  name: str | None = ...,
492
538
  max_digits: int = ...,
493
539
  decimal_places: int = ...,
@@ -495,9 +541,10 @@ class DecimalField(Generic[_DEC], Field[_DEC | Combinable, _DEC]):
495
541
  max_length: int | None = ...,
496
542
  unique: bool = ...,
497
543
  blank: bool = ...,
498
- null: Literal[False] = ...,
544
+ null: Literal[False] = False,
499
545
  db_index: bool = ...,
500
546
  default: _DEC | Callable[[], _DEC] | None = ...,
547
+ db_default: _DEC | Func | None = ...,
501
548
  editable: bool = ...,
502
549
  auto_created: bool = ...,
503
550
  serialize: bool = ...,
@@ -509,6 +556,7 @@ class DecimalField(Generic[_DEC], Field[_DEC | Combinable, _DEC]):
509
556
  ] = ...,
510
557
  help_text: str = ...,
511
558
  db_column: str | None = ...,
559
+ db_comment: str | None = ...,
512
560
  db_tablespace: str | None = ...,
513
561
  validators: Iterable[_ValidatorCallable] = ...,
514
562
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -517,6 +565,7 @@ class DecimalField(Generic[_DEC], Field[_DEC | Combinable, _DEC]):
517
565
  def __new__(
518
566
  cls,
519
567
  verbose_name: str | None = ...,
568
+ *,
520
569
  name: str | None = ...,
521
570
  max_digits: int = ...,
522
571
  decimal_places: int = ...,
@@ -524,9 +573,10 @@ class DecimalField(Generic[_DEC], Field[_DEC | Combinable, _DEC]):
524
573
  max_length: int | None = ...,
525
574
  unique: bool = ...,
526
575
  blank: bool = ...,
527
- null: Literal[True] = ...,
576
+ null: Literal[True],
528
577
  db_index: bool = ...,
529
578
  default: _DEC | Callable[[], _DEC] = ...,
579
+ db_default: _DEC | Func = ...,
530
580
  editable: bool = ...,
531
581
  auto_created: bool = ...,
532
582
  serialize: bool = ...,
@@ -538,6 +588,7 @@ class DecimalField(Generic[_DEC], Field[_DEC | Combinable, _DEC]):
538
588
  ] = ...,
539
589
  help_text: str = ...,
540
590
  db_column: str | None = ...,
591
+ db_comment: str | None = ...,
541
592
  db_tablespace: str | None = ...,
542
593
  validators: Iterable[_ValidatorCallable] = ...,
543
594
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -560,6 +611,7 @@ class AutoField(AutoFieldMixin, IntegerField[int], metaclass=AutoFieldMeta):
560
611
  null: bool = ...,
561
612
  db_index: bool = ...,
562
613
  default: int | Callable[[], int] | None = ...,
614
+ db_default: int | Func | None = ...,
563
615
  editable: bool = ...,
564
616
  auto_created: bool = ...,
565
617
  serialize: bool = ...,
@@ -571,6 +623,7 @@ class AutoField(AutoFieldMixin, IntegerField[int], metaclass=AutoFieldMeta):
571
623
  ] = ...,
572
624
  help_text: str = ...,
573
625
  db_column: str | None = ...,
626
+ db_comment: str | None = ...,
574
627
  db_tablespace: str | None = ...,
575
628
  validators: Iterable[_ValidatorCallable] = ...,
576
629
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -590,6 +643,7 @@ class BigAutoField(AutoFieldMixin, BigIntegerField[int]):
590
643
  null: bool = ...,
591
644
  db_index: bool = ...,
592
645
  default: int | Callable[[], int] | None = ...,
646
+ db_default: int | Func | None = ...,
593
647
  editable: bool = ...,
594
648
  auto_created: bool = ...,
595
649
  serialize: bool = ...,
@@ -601,6 +655,7 @@ class BigAutoField(AutoFieldMixin, BigIntegerField[int]):
601
655
  ] = ...,
602
656
  help_text: str = ...,
603
657
  db_column: str | None = ...,
658
+ db_comment: str | None = ...,
604
659
  db_tablespace: str | None = ...,
605
660
  validators: Iterable[_ValidatorCallable] = ...,
606
661
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -620,6 +675,7 @@ class SmallAutoField(AutoFieldMixin, SmallIntegerField[int]):
620
675
  null: bool = ...,
621
676
  db_index: bool = ...,
622
677
  default: int | Callable[[], int] | None = ...,
678
+ db_default: int | Func | None = ...,
623
679
  editable: bool = ...,
624
680
  auto_created: bool = ...,
625
681
  serialize: bool = ...,
@@ -631,6 +687,7 @@ class SmallAutoField(AutoFieldMixin, SmallIntegerField[int]):
631
687
  ] = ...,
632
688
  help_text: str = ...,
633
689
  db_column: str | None = ...,
690
+ db_comment: str | None = ...,
634
691
  db_tablespace: str | None = ...,
635
692
  validators: Iterable[_ValidatorCallable] = ...,
636
693
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -640,27 +697,31 @@ _C = TypeVar("_C", bound=str | None)
640
697
 
641
698
  class CharField(Generic[_C], Field[_C | Combinable, _C]):
642
699
  @overload
643
- def __new__( # type: ignore [misc]
700
+ def __new__(
644
701
  cls,
645
702
  verbose_name: str | None = ...,
703
+ *,
646
704
  name: str | None = ...,
647
705
  primary_key: bool = ...,
648
706
  max_length: int = ...,
649
707
  db_collation: str | None = ...,
650
708
  unique: bool = ...,
651
709
  blank: bool = ...,
652
- null: Literal[False] = ...,
710
+ null: Literal[False] = False,
653
711
  db_index: bool = ...,
654
712
  default: _C | Callable[[], _C] | None = ...,
713
+ db_default: _C | Func | None = ...,
655
714
  editable: bool = ...,
656
715
  auto_created: bool = ...,
657
716
  serialize: bool = ...,
658
717
  unique_for_date: str | None = ...,
659
718
  unique_for_month: str | None = ...,
660
719
  unique_for_year: str | None = ...,
661
- choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
720
+ choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]]
721
+ | type[TextChoices] = ...,
662
722
  help_text: str = ...,
663
723
  db_column: str | None = ...,
724
+ db_comment: str | None = ...,
664
725
  db_tablespace: str | None = ...,
665
726
  validators: Iterable[_ValidatorCallable] = ...,
666
727
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -669,24 +730,28 @@ class CharField(Generic[_C], Field[_C | Combinable, _C]):
669
730
  def __new__(
670
731
  cls,
671
732
  verbose_name: str | None = ...,
733
+ *,
672
734
  name: str | None = ...,
673
735
  primary_key: bool = ...,
674
736
  max_length: int = ...,
675
737
  db_collation: str | None = ...,
676
738
  unique: bool = ...,
677
739
  blank: bool = ...,
678
- null: Literal[True] = ...,
740
+ null: Literal[True],
679
741
  db_index: bool = ...,
680
742
  default: _C | Callable[[], _C] = ...,
743
+ db_default: _C | Func = ...,
681
744
  editable: bool = ...,
682
745
  auto_created: bool = ...,
683
746
  serialize: bool = ...,
684
747
  unique_for_date: str | None = ...,
685
748
  unique_for_month: str | None = ...,
686
749
  unique_for_year: str | None = ...,
687
- choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
750
+ choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]]
751
+ | type[TextChoices] = ...,
688
752
  help_text: str = ...,
689
753
  db_column: str | None = ...,
754
+ db_comment: str | None = ...,
690
755
  db_tablespace: str | None = ...,
691
756
  validators: Iterable[_ValidatorCallable] = ...,
692
757
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -694,18 +759,20 @@ class CharField(Generic[_C], Field[_C | Combinable, _C]):
694
759
 
695
760
  class SlugField(CharField[_C]):
696
761
  @overload
697
- def __new__( # type: ignore [misc]
762
+ def __new__(
698
763
  cls,
699
764
  verbose_name: str | None = ...,
765
+ *,
700
766
  name: str | None = ...,
701
767
  primary_key: bool = ...,
702
768
  max_length: int = ...,
703
769
  db_collation: str | None = ...,
704
770
  unique: bool = ...,
705
771
  blank: bool = ...,
706
- null: Literal[False] = ...,
772
+ null: Literal[False] = False,
707
773
  db_index: bool = ...,
708
774
  default: _C | Callable[[], _C] | None = ...,
775
+ db_default: _C | Func | None = ...,
709
776
  editable: bool = ...,
710
777
  auto_created: bool = ...,
711
778
  serialize: bool = ...,
@@ -715,23 +782,27 @@ class SlugField(CharField[_C]):
715
782
  choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
716
783
  help_text: str = ...,
717
784
  db_column: str | None = ...,
785
+ db_comment: str | None = ...,
718
786
  db_tablespace: str | None = ...,
719
787
  validators: Iterable[_ValidatorCallable] = ...,
720
788
  error_messages: _ErrorMessagesToOverride | None = ...,
789
+ allow_unicode: bool = ...,
721
790
  ) -> SlugField[str]: ...
722
791
  @overload
723
792
  def __new__(
724
793
  cls,
725
794
  verbose_name: str | None = ...,
795
+ *,
726
796
  name: str | None = ...,
727
797
  primary_key: bool = ...,
728
798
  max_length: int = ...,
729
799
  db_collation: str | None = ...,
730
800
  unique: bool = ...,
731
801
  blank: bool = ...,
732
- null: Literal[True] = ...,
802
+ null: Literal[True],
733
803
  db_index: bool = ...,
734
804
  default: _C | Callable[[], _C] = ...,
805
+ db_default: _C | Func = ...,
735
806
  editable: bool = ...,
736
807
  auto_created: bool = ...,
737
808
  serialize: bool = ...,
@@ -741,25 +812,29 @@ class SlugField(CharField[_C]):
741
812
  choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
742
813
  help_text: str = ...,
743
814
  db_column: str | None = ...,
815
+ db_comment: str | None = ...,
744
816
  db_tablespace: str | None = ...,
745
817
  validators: Iterable[_ValidatorCallable] = ...,
746
818
  error_messages: _ErrorMessagesToOverride | None = ...,
819
+ allow_unicode: bool = ...,
747
820
  ) -> SlugField[str | None]: ...
748
821
 
749
822
  class EmailField(CharField[_C]):
750
823
  @overload
751
- def __new__( # type: ignore [misc]
824
+ def __new__(
752
825
  cls,
753
826
  verbose_name: str | None = ...,
827
+ *,
754
828
  name: str | None = ...,
755
829
  primary_key: bool = ...,
756
830
  max_length: int = ...,
757
831
  db_collation: str | None = ...,
758
832
  unique: bool = ...,
759
833
  blank: bool = ...,
760
- null: Literal[False] = ...,
834
+ null: Literal[False] = False,
761
835
  db_index: bool = ...,
762
836
  default: _C | Callable[[], _C] | None = ...,
837
+ db_default: _C | Func | None = ...,
763
838
  editable: bool = ...,
764
839
  auto_created: bool = ...,
765
840
  serialize: bool = ...,
@@ -769,6 +844,7 @@ class EmailField(CharField[_C]):
769
844
  choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
770
845
  help_text: str = ...,
771
846
  db_column: str | None = ...,
847
+ db_comment: str | None = ...,
772
848
  db_tablespace: str | None = ...,
773
849
  validators: Iterable[_ValidatorCallable] = ...,
774
850
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -777,15 +853,17 @@ class EmailField(CharField[_C]):
777
853
  def __new__(
778
854
  cls,
779
855
  verbose_name: str | None = ...,
856
+ *,
780
857
  name: str | None = ...,
781
858
  primary_key: bool = ...,
782
859
  max_length: int = ...,
783
860
  db_collation: str | None = ...,
784
861
  unique: bool = ...,
785
862
  blank: bool = ...,
786
- null: Literal[True] = ...,
863
+ null: Literal[True],
787
864
  db_index: bool = ...,
788
865
  default: _C | Callable[[], _C] = ...,
866
+ db_default: _C | Func = ...,
789
867
  editable: bool = ...,
790
868
  auto_created: bool = ...,
791
869
  serialize: bool = ...,
@@ -795,6 +873,7 @@ class EmailField(CharField[_C]):
795
873
  choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
796
874
  help_text: str = ...,
797
875
  db_column: str | None = ...,
876
+ db_comment: str | None = ...,
798
877
  db_tablespace: str | None = ...,
799
878
  validators: Iterable[_ValidatorCallable] = ...,
800
879
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -802,18 +881,20 @@ class EmailField(CharField[_C]):
802
881
 
803
882
  class URLField(CharField[_C]):
804
883
  @overload
805
- def __new__( # type: ignore [misc]
884
+ def __new__(
806
885
  cls,
807
886
  verbose_name: str | None = ...,
887
+ *,
808
888
  name: str | None = ...,
809
889
  primary_key: bool = ...,
810
890
  max_length: int = ...,
811
891
  db_collation: str | None = ...,
812
892
  unique: bool = ...,
813
893
  blank: bool = ...,
814
- null: Literal[False] = ...,
894
+ null: Literal[False] = False,
815
895
  db_index: bool = ...,
816
896
  default: _C | Callable[[], _C] | None = ...,
897
+ db_default: _C | Func | None = ...,
817
898
  editable: bool = ...,
818
899
  auto_created: bool = ...,
819
900
  serialize: bool = ...,
@@ -823,6 +904,7 @@ class URLField(CharField[_C]):
823
904
  choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
824
905
  help_text: str = ...,
825
906
  db_column: str | None = ...,
907
+ db_comment: str | None = ...,
826
908
  db_tablespace: str | None = ...,
827
909
  validators: Iterable[_ValidatorCallable] = ...,
828
910
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -831,15 +913,17 @@ class URLField(CharField[_C]):
831
913
  def __new__(
832
914
  cls,
833
915
  verbose_name: str | None = ...,
916
+ *,
834
917
  name: str | None = ...,
835
918
  primary_key: bool = ...,
836
919
  max_length: int = ...,
837
920
  db_collation: str | None = ...,
838
921
  unique: bool = ...,
839
922
  blank: bool = ...,
840
- null: Literal[True] = ...,
923
+ null: Literal[True],
841
924
  db_index: bool = ...,
842
925
  default: _C | Callable[[], _C] = ...,
926
+ db_default: _C | Func = ...,
843
927
  editable: bool = ...,
844
928
  auto_created: bool = ...,
845
929
  serialize: bool = ...,
@@ -849,6 +933,7 @@ class URLField(CharField[_C]):
849
933
  choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
850
934
  help_text: str = ...,
851
935
  db_column: str | None = ...,
936
+ db_comment: str | None = ...,
852
937
  db_tablespace: str | None = ...,
853
938
  validators: Iterable[_ValidatorCallable] = ...,
854
939
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -856,18 +941,20 @@ class URLField(CharField[_C]):
856
941
 
857
942
  class TextField(Generic[_C], Field[_C | Combinable, _C]):
858
943
  @overload
859
- def __new__( # type: ignore [misc]
944
+ def __new__(
860
945
  cls,
861
946
  verbose_name: str | None = ...,
947
+ *,
862
948
  name: str | None = ...,
863
949
  primary_key: bool = ...,
864
950
  max_length: int | None = ...,
865
951
  db_collation: str | None = ...,
866
952
  unique: bool = ...,
867
953
  blank: bool = ...,
868
- null: Literal[False] = ...,
954
+ null: Literal[False] = False,
869
955
  db_index: bool = ...,
870
956
  default: _C | Callable[[], _C] | None = ...,
957
+ db_default: _C | Func | None = ...,
871
958
  editable: bool = ...,
872
959
  auto_created: bool = ...,
873
960
  serialize: bool = ...,
@@ -877,6 +964,7 @@ class TextField(Generic[_C], Field[_C | Combinable, _C]):
877
964
  choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
878
965
  help_text: str = ...,
879
966
  db_column: str | None = ...,
967
+ db_comment: str | None = ...,
880
968
  db_tablespace: str | None = ...,
881
969
  validators: Iterable[_ValidatorCallable] = ...,
882
970
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -885,15 +973,17 @@ class TextField(Generic[_C], Field[_C | Combinable, _C]):
885
973
  def __new__(
886
974
  cls,
887
975
  verbose_name: str | None = ...,
976
+ *,
888
977
  name: str | None = ...,
889
978
  primary_key: bool = ...,
890
979
  max_length: int | None = ...,
891
980
  db_collation: str | None = ...,
892
981
  unique: bool = ...,
893
982
  blank: bool = ...,
894
- null: Literal[True] = ...,
983
+ null: Literal[True],
895
984
  db_index: bool = ...,
896
985
  default: _C | Callable[[], _C] = ...,
986
+ db_default: _C | Func = ...,
897
987
  editable: bool = ...,
898
988
  auto_created: bool = ...,
899
989
  serialize: bool = ...,
@@ -903,6 +993,7 @@ class TextField(Generic[_C], Field[_C | Combinable, _C]):
903
993
  choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
904
994
  help_text: str = ...,
905
995
  db_column: str | None = ...,
996
+ db_comment: str | None = ...,
906
997
  db_tablespace: str | None = ...,
907
998
  validators: Iterable[_ValidatorCallable] = ...,
908
999
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -912,18 +1003,20 @@ _B = TypeVar("_B", bound=bool | None)
912
1003
 
913
1004
  class BooleanField(Generic[_B], Field[_B | Combinable, _B]):
914
1005
  @overload
915
- def __new__( # type: ignore [misc]
1006
+ def __new__(
916
1007
  cls,
917
1008
  verbose_name: str | None = ...,
1009
+ *,
918
1010
  name: str | None = ...,
919
1011
  primary_key: bool = ...,
920
1012
  max_length: int | None = ...,
921
1013
  db_collation: str | None = ...,
922
1014
  unique: bool = ...,
923
1015
  blank: bool = ...,
924
- null: Literal[False] = ...,
1016
+ null: Literal[False] = False,
925
1017
  db_index: bool = ...,
926
1018
  default: _B | Callable[[], _B] | None = ...,
1019
+ db_default: _B | Func | None = ...,
927
1020
  editable: bool = ...,
928
1021
  auto_created: bool = ...,
929
1022
  serialize: bool = ...,
@@ -933,6 +1026,7 @@ class BooleanField(Generic[_B], Field[_B | Combinable, _B]):
933
1026
  choices: Iterable[tuple[_B, str] | tuple[str, Iterable[tuple[_B, str]]]] = ...,
934
1027
  help_text: str = ...,
935
1028
  db_column: str | None = ...,
1029
+ db_comment: str | None = ...,
936
1030
  db_tablespace: str | None = ...,
937
1031
  validators: Iterable[_ValidatorCallable] = ...,
938
1032
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -941,15 +1035,17 @@ class BooleanField(Generic[_B], Field[_B | Combinable, _B]):
941
1035
  def __new__(
942
1036
  cls,
943
1037
  verbose_name: str | None = ...,
1038
+ *,
944
1039
  name: str | None = ...,
945
1040
  primary_key: bool = ...,
946
1041
  max_length: int | None = ...,
947
1042
  db_collation: str | None = ...,
948
1043
  unique: bool = ...,
949
1044
  blank: bool = ...,
950
- null: Literal[True] = ...,
1045
+ null: Literal[True],
951
1046
  db_index: bool = ...,
952
1047
  default: _B | Callable[[], _B] = ...,
1048
+ db_default: _B | Func = ...,
953
1049
  editable: bool = ...,
954
1050
  auto_created: bool = ...,
955
1051
  serialize: bool = ...,
@@ -966,17 +1062,19 @@ class BooleanField(Generic[_B], Field[_B | Combinable, _B]):
966
1062
 
967
1063
  class IPAddressField(Generic[_C], Field[_C | Combinable, _C]):
968
1064
  @overload
969
- def __new__( # type: ignore [misc]
1065
+ def __new__(
970
1066
  cls,
971
1067
  verbose_name: str | None = ...,
1068
+ *,
972
1069
  name: str | None = ...,
973
1070
  primary_key: bool = ...,
974
1071
  max_length: int | None = ...,
975
1072
  unique: bool = ...,
976
1073
  blank: bool = ...,
977
- null: Literal[False] = ...,
1074
+ null: Literal[False] = False,
978
1075
  db_index: bool = ...,
979
1076
  default: _C | Callable[[], _C] | None = ...,
1077
+ db_default: _C | Func | None = ...,
980
1078
  editable: bool = ...,
981
1079
  auto_created: bool = ...,
982
1080
  serialize: bool = ...,
@@ -986,6 +1084,7 @@ class IPAddressField(Generic[_C], Field[_C | Combinable, _C]):
986
1084
  choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
987
1085
  help_text: str = ...,
988
1086
  db_column: str | None = ...,
1087
+ db_comment: str | None = ...,
989
1088
  db_tablespace: str | None = ...,
990
1089
  validators: Iterable[_ValidatorCallable] = ...,
991
1090
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -994,14 +1093,16 @@ class IPAddressField(Generic[_C], Field[_C | Combinable, _C]):
994
1093
  def __new__(
995
1094
  cls,
996
1095
  verbose_name: str | None = ...,
1096
+ *,
997
1097
  name: str | None = ...,
998
1098
  primary_key: bool = ...,
999
1099
  max_length: int | None = ...,
1000
1100
  unique: bool = ...,
1001
1101
  blank: bool = ...,
1002
- null: Literal[True] = ...,
1102
+ null: Literal[True],
1003
1103
  db_index: bool = ...,
1004
1104
  default: _C | Callable[[], _C] = ...,
1105
+ db_default: _C | Func = ...,
1005
1106
  editable: bool = ...,
1006
1107
  auto_created: bool = ...,
1007
1108
  serialize: bool = ...,
@@ -1011,6 +1112,7 @@ class IPAddressField(Generic[_C], Field[_C | Combinable, _C]):
1011
1112
  choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
1012
1113
  help_text: str = ...,
1013
1114
  db_column: str | None = ...,
1115
+ db_comment: str | None = ...,
1014
1116
  db_tablespace: str | None = ...,
1015
1117
  validators: Iterable[_ValidatorCallable] = ...,
1016
1118
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1021,9 +1123,10 @@ class GenericIPAddressField(
1021
1123
  Field[_C | ipaddress.IPv4Address | ipaddress.IPv6Address | Combinable, _C],
1022
1124
  ):
1023
1125
  @overload
1024
- def __new__( # type: ignore [misc]
1126
+ def __new__(
1025
1127
  cls,
1026
1128
  verbose_name: str | None = ...,
1129
+ *,
1027
1130
  name: str | None = ...,
1028
1131
  protocol: str = ...,
1029
1132
  unpack_ipv4: bool = ...,
@@ -1031,9 +1134,10 @@ class GenericIPAddressField(
1031
1134
  max_length: int | None = ...,
1032
1135
  unique: bool = ...,
1033
1136
  blank: bool = ...,
1034
- null: Literal[False] = ...,
1137
+ null: Literal[False] = False,
1035
1138
  db_index: bool = ...,
1036
1139
  default: _C | Callable[[], _C] | None = ...,
1140
+ db_default: _C | Func | None = ...,
1037
1141
  editable: bool = ...,
1038
1142
  auto_created: bool = ...,
1039
1143
  serialize: bool = ...,
@@ -1043,6 +1147,7 @@ class GenericIPAddressField(
1043
1147
  choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
1044
1148
  help_text: str = ...,
1045
1149
  db_column: str | None = ...,
1150
+ db_comment: str | None = ...,
1046
1151
  db_tablespace: str | None = ...,
1047
1152
  validators: Iterable[_ValidatorCallable] = ...,
1048
1153
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1051,6 +1156,7 @@ class GenericIPAddressField(
1051
1156
  def __new__(
1052
1157
  cls,
1053
1158
  verbose_name: str | None = ...,
1159
+ *,
1054
1160
  name: str | None = ...,
1055
1161
  protocol: str = ...,
1056
1162
  unpack_ipv4: bool = ...,
@@ -1058,9 +1164,10 @@ class GenericIPAddressField(
1058
1164
  max_length: int | None = ...,
1059
1165
  unique: bool = ...,
1060
1166
  blank: bool = ...,
1061
- null: Literal[True] = ...,
1167
+ null: Literal[True],
1062
1168
  db_index: bool = ...,
1063
1169
  default: _C | Callable[[], _C] = ...,
1170
+ db_default: _C | Func = ...,
1064
1171
  editable: bool = ...,
1065
1172
  auto_created: bool = ...,
1066
1173
  serialize: bool = ...,
@@ -1070,6 +1177,7 @@ class GenericIPAddressField(
1070
1177
  choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
1071
1178
  help_text: str = ...,
1072
1179
  db_column: str | None = ...,
1180
+ db_comment: str | None = ...,
1073
1181
  db_tablespace: str | None = ...,
1074
1182
  validators: Iterable[_ValidatorCallable] = ...,
1075
1183
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1084,9 +1192,10 @@ class DateField(DateTimeCheckMixin, Field[_DD | Combinable, _DD]):
1084
1192
  auto_now: bool = ...
1085
1193
  auto_now_add: bool = ...
1086
1194
  @overload
1087
- def __new__( # type: ignore [misc]
1195
+ def __new__(
1088
1196
  cls,
1089
1197
  verbose_name: str | None = ...,
1198
+ *,
1090
1199
  name: str | None = ...,
1091
1200
  auto_now: bool = ...,
1092
1201
  auto_now_add: bool = ...,
@@ -1094,9 +1203,10 @@ class DateField(DateTimeCheckMixin, Field[_DD | Combinable, _DD]):
1094
1203
  max_length: int | None = ...,
1095
1204
  unique: bool = ...,
1096
1205
  blank: bool = ...,
1097
- null: Literal[False] = ...,
1206
+ null: Literal[False] = False,
1098
1207
  db_index: bool = ...,
1099
1208
  default: _DD | Callable[[], _DD] | None = ...,
1209
+ db_default: _DD | Func | None = ...,
1100
1210
  editable: bool = ...,
1101
1211
  auto_created: bool = ...,
1102
1212
  serialize: bool = ...,
@@ -1108,6 +1218,7 @@ class DateField(DateTimeCheckMixin, Field[_DD | Combinable, _DD]):
1108
1218
  ] = ...,
1109
1219
  help_text: str = ...,
1110
1220
  db_column: str | None = ...,
1221
+ db_comment: str | None = ...,
1111
1222
  db_tablespace: str | None = ...,
1112
1223
  validators: Iterable[_ValidatorCallable] = ...,
1113
1224
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1116,6 +1227,7 @@ class DateField(DateTimeCheckMixin, Field[_DD | Combinable, _DD]):
1116
1227
  def __new__(
1117
1228
  cls,
1118
1229
  verbose_name: str | None = ...,
1230
+ *,
1119
1231
  name: str | None = ...,
1120
1232
  auto_now: bool = ...,
1121
1233
  auto_now_add: bool = ...,
@@ -1123,9 +1235,10 @@ class DateField(DateTimeCheckMixin, Field[_DD | Combinable, _DD]):
1123
1235
  max_length: int | None = ...,
1124
1236
  unique: bool = ...,
1125
1237
  blank: bool = ...,
1126
- null: Literal[True] = ...,
1238
+ null: Literal[True],
1127
1239
  db_index: bool = ...,
1128
1240
  default: _DD | Callable[[], _DD] = ...,
1241
+ db_default: _DD | Func = ...,
1129
1242
  editable: bool = ...,
1130
1243
  auto_created: bool = ...,
1131
1244
  serialize: bool = ...,
@@ -1137,6 +1250,7 @@ class DateField(DateTimeCheckMixin, Field[_DD | Combinable, _DD]):
1137
1250
  ] = ...,
1138
1251
  help_text: str = ...,
1139
1252
  db_column: str | None = ...,
1253
+ db_comment: str | None = ...,
1140
1254
  db_tablespace: str | None = ...,
1141
1255
  validators: Iterable[_ValidatorCallable] = ...,
1142
1256
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1149,9 +1263,10 @@ class TimeField(Generic[_TM], DateTimeCheckMixin, Field[_TM | Combinable, _TM]):
1149
1263
  auto_now: bool = ...
1150
1264
  auto_now_add: bool = ...
1151
1265
  @overload
1152
- def __new__( # type: ignore [misc]
1266
+ def __new__(
1153
1267
  cls,
1154
1268
  verbose_name: str | None = ...,
1269
+ *,
1155
1270
  name: str | None = ...,
1156
1271
  auto_now: bool = ...,
1157
1272
  auto_now_add: bool = ...,
@@ -1159,9 +1274,10 @@ class TimeField(Generic[_TM], DateTimeCheckMixin, Field[_TM | Combinable, _TM]):
1159
1274
  max_length: int | None = ...,
1160
1275
  unique: bool = ...,
1161
1276
  blank: bool = ...,
1162
- null: Literal[False] = ...,
1277
+ null: Literal[False] = False,
1163
1278
  db_index: bool = ...,
1164
1279
  default: _TM | Callable[[], _TM] | None = ...,
1280
+ db_default: _TM | Func | None = ...,
1165
1281
  editable: bool = ...,
1166
1282
  auto_created: bool = ...,
1167
1283
  serialize: bool = ...,
@@ -1173,6 +1289,7 @@ class TimeField(Generic[_TM], DateTimeCheckMixin, Field[_TM | Combinable, _TM]):
1173
1289
  ] = ...,
1174
1290
  help_text: str = ...,
1175
1291
  db_column: str | None = ...,
1292
+ db_comment: str | None = ...,
1176
1293
  db_tablespace: str | None = ...,
1177
1294
  validators: Iterable[_ValidatorCallable] = ...,
1178
1295
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1181,6 +1298,7 @@ class TimeField(Generic[_TM], DateTimeCheckMixin, Field[_TM | Combinable, _TM]):
1181
1298
  def __new__(
1182
1299
  cls,
1183
1300
  verbose_name: str | None = ...,
1301
+ *,
1184
1302
  name: str | None = ...,
1185
1303
  auto_now: bool = ...,
1186
1304
  auto_now_add: bool = ...,
@@ -1188,9 +1306,10 @@ class TimeField(Generic[_TM], DateTimeCheckMixin, Field[_TM | Combinable, _TM]):
1188
1306
  max_length: int | None = ...,
1189
1307
  unique: bool = ...,
1190
1308
  blank: bool = ...,
1191
- null: Literal[True] = ...,
1309
+ null: Literal[True],
1192
1310
  db_index: bool = ...,
1193
1311
  default: _TM | Callable[[], _TM] = ...,
1312
+ db_default: _TM | Func = ...,
1194
1313
  editable: bool = ...,
1195
1314
  auto_created: bool = ...,
1196
1315
  serialize: bool = ...,
@@ -1202,6 +1321,7 @@ class TimeField(Generic[_TM], DateTimeCheckMixin, Field[_TM | Combinable, _TM]):
1202
1321
  ] = ...,
1203
1322
  help_text: str = ...,
1204
1323
  db_column: str | None = ...,
1324
+ db_comment: str | None = ...,
1205
1325
  db_tablespace: str | None = ...,
1206
1326
  validators: Iterable[_ValidatorCallable] = ...,
1207
1327
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1214,9 +1334,10 @@ class DateTimeField(DateField[_DT]):
1214
1334
  auto_now: bool = ...
1215
1335
  auto_now_add: bool = ...
1216
1336
  @overload
1217
- def __new__( # type: ignore [misc]
1337
+ def __new__(
1218
1338
  cls,
1219
1339
  verbose_name: str | None = ...,
1340
+ *,
1220
1341
  name: str | None = ...,
1221
1342
  auto_now: bool = ...,
1222
1343
  auto_now_add: bool = ...,
@@ -1224,9 +1345,10 @@ class DateTimeField(DateField[_DT]):
1224
1345
  max_length: int | None = ...,
1225
1346
  unique: bool = ...,
1226
1347
  blank: bool = ...,
1227
- null: Literal[False] = ...,
1348
+ null: Literal[False] = False,
1228
1349
  db_index: bool = ...,
1229
1350
  default: _DT | Callable[[], _DT] | None = ...,
1351
+ db_default: _DT | Func | None = ...,
1230
1352
  editable: bool = ...,
1231
1353
  auto_created: bool = ...,
1232
1354
  serialize: bool = ...,
@@ -1238,6 +1360,7 @@ class DateTimeField(DateField[_DT]):
1238
1360
  ] = ...,
1239
1361
  help_text: str = ...,
1240
1362
  db_column: str | None = ...,
1363
+ db_comment: str | None = ...,
1241
1364
  db_tablespace: str | None = ...,
1242
1365
  validators: Iterable[_ValidatorCallable] = ...,
1243
1366
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1246,6 +1369,7 @@ class DateTimeField(DateField[_DT]):
1246
1369
  def __new__(
1247
1370
  cls,
1248
1371
  verbose_name: str | None = ...,
1372
+ *,
1249
1373
  name: str | None = ...,
1250
1374
  auto_now: bool = ...,
1251
1375
  auto_now_add: bool = ...,
@@ -1253,9 +1377,10 @@ class DateTimeField(DateField[_DT]):
1253
1377
  max_length: int | None = ...,
1254
1378
  unique: bool = ...,
1255
1379
  blank: bool = ...,
1256
- null: Literal[True] = ...,
1380
+ null: Literal[True],
1257
1381
  db_index: bool = ...,
1258
1382
  default: _DT | Callable[[], _DT] = ...,
1383
+ db_default: _DT | Func = ...,
1259
1384
  editable: bool = ...,
1260
1385
  auto_created: bool = ...,
1261
1386
  serialize: bool = ...,
@@ -1267,6 +1392,7 @@ class DateTimeField(DateField[_DT]):
1267
1392
  ] = ...,
1268
1393
  help_text: str = ...,
1269
1394
  db_column: str | None = ...,
1395
+ db_comment: str | None = ...,
1270
1396
  db_tablespace: str | None = ...,
1271
1397
  validators: Iterable[_ValidatorCallable] = ...,
1272
1398
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1276,17 +1402,19 @@ _U = TypeVar("_U", bound=uuid.UUID | None)
1276
1402
 
1277
1403
  class UUIDField(Generic[_U], Field[str | _U, _U]):
1278
1404
  @overload
1279
- def __new__( # type: ignore [misc]
1405
+ def __new__(
1280
1406
  cls,
1281
1407
  verbose_name: str | None = ...,
1408
+ *,
1282
1409
  name: str | None = ...,
1283
1410
  primary_key: bool = ...,
1284
1411
  max_length: int | None = ...,
1285
1412
  unique: bool = ...,
1286
1413
  blank: bool = ...,
1287
- null: Literal[False] = ...,
1414
+ null: Literal[False] = False,
1288
1415
  db_index: bool = ...,
1289
1416
  default: _U | Callable[[], _U] | None = ...,
1417
+ db_default: _U | Func | None = ...,
1290
1418
  editable: bool = ...,
1291
1419
  auto_created: bool = ...,
1292
1420
  serialize: bool = ...,
@@ -1296,6 +1424,7 @@ class UUIDField(Generic[_U], Field[str | _U, _U]):
1296
1424
  choices: Iterable[tuple[_U, str] | tuple[str, Iterable[tuple[_U, str]]]] = ...,
1297
1425
  help_text: str = ...,
1298
1426
  db_column: str | None = ...,
1427
+ db_comment: str | None = ...,
1299
1428
  db_tablespace: str | None = ...,
1300
1429
  validators: Iterable[_ValidatorCallable] = ...,
1301
1430
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1304,14 +1433,16 @@ class UUIDField(Generic[_U], Field[str | _U, _U]):
1304
1433
  def __new__(
1305
1434
  cls,
1306
1435
  verbose_name: str | None = ...,
1436
+ *,
1307
1437
  name: str | None = ...,
1308
1438
  primary_key: bool = ...,
1309
1439
  max_length: int | None = ...,
1310
1440
  unique: bool = ...,
1311
1441
  blank: bool = ...,
1312
- null: Literal[True] = ...,
1442
+ null: Literal[True],
1313
1443
  db_index: bool = ...,
1314
1444
  default: _U | Callable[[], _U] = ...,
1445
+ db_default: _U | Func = ...,
1315
1446
  editable: bool = ...,
1316
1447
  auto_created: bool = ...,
1317
1448
  serialize: bool = ...,
@@ -1321,6 +1452,7 @@ class UUIDField(Generic[_U], Field[str | _U, _U]):
1321
1452
  choices: Iterable[tuple[_U, str] | tuple[str, Iterable[tuple[_U, str]]]] = ...,
1322
1453
  help_text: str = ...,
1323
1454
  db_column: str | None = ...,
1455
+ db_comment: str | None = ...,
1324
1456
  db_tablespace: str | None = ...,
1325
1457
  validators: Iterable[_ValidatorCallable] = ...,
1326
1458
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1333,9 +1465,10 @@ class FilePathField(Generic[_C], Field[_C, _C]):
1333
1465
  allow_files: bool = ...
1334
1466
  allow_folders: bool = ...
1335
1467
  @overload
1336
- def __new__( # type: ignore [misc]
1468
+ def __new__(
1337
1469
  cls,
1338
1470
  verbose_name: str | None = ...,
1471
+ *,
1339
1472
  name: str | None = ...,
1340
1473
  path: str | Callable[..., str] = ...,
1341
1474
  match: str | None = ...,
@@ -1346,9 +1479,10 @@ class FilePathField(Generic[_C], Field[_C, _C]):
1346
1479
  max_length: int | None = ...,
1347
1480
  unique: bool = ...,
1348
1481
  blank: bool = ...,
1349
- null: Literal[False] = ...,
1482
+ null: Literal[False] = False,
1350
1483
  db_index: bool = ...,
1351
1484
  default: _C | Callable[[], _C] | None = ...,
1485
+ db_default: _C | Func | None = ...,
1352
1486
  editable: bool = ...,
1353
1487
  auto_created: bool = ...,
1354
1488
  serialize: bool = ...,
@@ -1358,6 +1492,7 @@ class FilePathField(Generic[_C], Field[_C, _C]):
1358
1492
  choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
1359
1493
  help_text: str = ...,
1360
1494
  db_column: str | None = ...,
1495
+ db_comment: str | None = ...,
1361
1496
  db_tablespace: str | None = ...,
1362
1497
  validators: Iterable[_ValidatorCallable] = ...,
1363
1498
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1366,6 +1501,7 @@ class FilePathField(Generic[_C], Field[_C, _C]):
1366
1501
  def __new__(
1367
1502
  cls,
1368
1503
  verbose_name: str | None = ...,
1504
+ *,
1369
1505
  name: str | None = ...,
1370
1506
  path: str | Callable[..., str] = ...,
1371
1507
  match: str | None = ...,
@@ -1376,9 +1512,10 @@ class FilePathField(Generic[_C], Field[_C, _C]):
1376
1512
  max_length: int | None = ...,
1377
1513
  unique: bool = ...,
1378
1514
  blank: bool = ...,
1379
- null: Literal[True] = ...,
1515
+ null: Literal[True],
1380
1516
  db_index: bool = ...,
1381
1517
  default: _C | Callable[[], _C] = ...,
1518
+ db_default: _C | Func = ...,
1382
1519
  editable: bool = ...,
1383
1520
  auto_created: bool = ...,
1384
1521
  serialize: bool = ...,
@@ -1388,6 +1525,7 @@ class FilePathField(Generic[_C], Field[_C, _C]):
1388
1525
  choices: Iterable[tuple[_C, str] | tuple[str, Iterable[tuple[_C, str]]]] = ...,
1389
1526
  help_text: str = ...,
1390
1527
  db_column: str | None = ...,
1528
+ db_comment: str | None = ...,
1391
1529
  db_tablespace: str | None = ...,
1392
1530
  validators: Iterable[_ValidatorCallable] = ...,
1393
1531
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1397,17 +1535,19 @@ _BIN = TypeVar("_BIN", bound=bytes | None)
1397
1535
 
1398
1536
  class BinaryField(Generic[_BIN], Field[_BIN | bytearray | memoryview, _BIN]):
1399
1537
  @overload
1400
- def __new__( # type: ignore [misc]
1538
+ def __new__(
1401
1539
  cls,
1402
1540
  verbose_name: str | None = ...,
1541
+ *,
1403
1542
  name: str | None = ...,
1404
1543
  primary_key: bool = ...,
1405
1544
  max_length: int | None = ...,
1406
1545
  unique: bool = ...,
1407
1546
  blank: bool = ...,
1408
- null: Literal[False] = ...,
1547
+ null: Literal[False] = False,
1409
1548
  db_index: bool = ...,
1410
1549
  default: _BIN | Callable[[], _BIN] | None = ...,
1550
+ db_default: _BIN | Func | None = ...,
1411
1551
  editable: bool = ...,
1412
1552
  auto_created: bool = ...,
1413
1553
  serialize: bool = ...,
@@ -1419,6 +1559,7 @@ class BinaryField(Generic[_BIN], Field[_BIN | bytearray | memoryview, _BIN]):
1419
1559
  ] = ...,
1420
1560
  help_text: str = ...,
1421
1561
  db_column: str | None = ...,
1562
+ db_comment: str | None = ...,
1422
1563
  db_tablespace: str | None = ...,
1423
1564
  validators: Iterable[_ValidatorCallable] = ...,
1424
1565
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1427,14 +1568,16 @@ class BinaryField(Generic[_BIN], Field[_BIN | bytearray | memoryview, _BIN]):
1427
1568
  def __new__(
1428
1569
  cls,
1429
1570
  verbose_name: str | None = ...,
1571
+ *,
1430
1572
  name: str | None = ...,
1431
1573
  primary_key: bool = ...,
1432
1574
  max_length: int | None = ...,
1433
1575
  unique: bool = ...,
1434
1576
  blank: bool = ...,
1435
- null: Literal[True] = ...,
1577
+ null: Literal[True],
1436
1578
  db_index: bool = ...,
1437
1579
  default: _BIN | Callable[[], _BIN] = ...,
1580
+ db_default: _BIN | Func = ...,
1438
1581
  editable: bool = ...,
1439
1582
  auto_created: bool = ...,
1440
1583
  serialize: bool = ...,
@@ -1446,6 +1589,7 @@ class BinaryField(Generic[_BIN], Field[_BIN | bytearray | memoryview, _BIN]):
1446
1589
  ] = ...,
1447
1590
  help_text: str = ...,
1448
1591
  db_column: str | None = ...,
1592
+ db_comment: str | None = ...,
1449
1593
  db_tablespace: str | None = ...,
1450
1594
  validators: Iterable[_ValidatorCallable] = ...,
1451
1595
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1455,17 +1599,19 @@ _TD = TypeVar("_TD", bound=timedelta | None)
1455
1599
 
1456
1600
  class DurationField(Generic[_TD], Field[_TD, _TD]):
1457
1601
  @overload
1458
- def __new__( # type: ignore [misc]
1602
+ def __new__(
1459
1603
  cls,
1460
1604
  verbose_name: str | None = ...,
1605
+ *,
1461
1606
  name: str | None = ...,
1462
1607
  primary_key: bool = ...,
1463
1608
  max_length: int | None = ...,
1464
1609
  unique: bool = ...,
1465
1610
  blank: bool = ...,
1466
- null: Literal[False] = ...,
1611
+ null: Literal[False] = False,
1467
1612
  db_index: bool = ...,
1468
1613
  default: _TD | Callable[[], _TD] | None = ...,
1614
+ db_default: _TD | Func | None = ...,
1469
1615
  editable: bool = ...,
1470
1616
  auto_created: bool = ...,
1471
1617
  serialize: bool = ...,
@@ -1477,6 +1623,7 @@ class DurationField(Generic[_TD], Field[_TD, _TD]):
1477
1623
  ] = ...,
1478
1624
  help_text: str = ...,
1479
1625
  db_column: str | None = ...,
1626
+ db_comment: str | None = ...,
1480
1627
  db_tablespace: str | None = ...,
1481
1628
  validators: Iterable[_ValidatorCallable] = ...,
1482
1629
  error_messages: _ErrorMessagesToOverride | None = ...,
@@ -1485,14 +1632,16 @@ class DurationField(Generic[_TD], Field[_TD, _TD]):
1485
1632
  def __new__(
1486
1633
  cls,
1487
1634
  verbose_name: str | None = ...,
1635
+ *,
1488
1636
  name: str | None = ...,
1489
1637
  primary_key: bool = ...,
1490
1638
  max_length: int | None = ...,
1491
1639
  unique: bool = ...,
1492
1640
  blank: bool = ...,
1493
- null: Literal[True] = ...,
1641
+ null: Literal[True],
1494
1642
  db_index: bool = ...,
1495
1643
  default: _TD | Callable[[], _TD] = ...,
1644
+ db_default: _TD | Func = ...,
1496
1645
  editable: bool = ...,
1497
1646
  auto_created: bool = ...,
1498
1647
  serialize: bool = ...,
@@ -1504,6 +1653,7 @@ class DurationField(Generic[_TD], Field[_TD, _TD]):
1504
1653
  ] = ...,
1505
1654
  help_text: str = ...,
1506
1655
  db_column: str | None = ...,
1656
+ db_comment: str | None = ...,
1507
1657
  db_tablespace: str | None = ...,
1508
1658
  validators: Iterable[_ValidatorCallable] = ...,
1509
1659
  error_messages: _ErrorMessagesToOverride | None = ...,