diff --git a/django-stubs/db/models/__init__.pyi b/django-stubs/db/models/__init__.pyi index c7ee843..978bc7f 100644 --- a/django-stubs/db/models/__init__.pyi +++ b/django-stubs/db/models/__init__.pyi @@ -72,6 +72,7 @@ from .fields import PositiveBigIntegerField as PositiveBigIntegerField from .fields import PositiveIntegerField as PositiveIntegerField from .fields import PositiveSmallIntegerField as PositiveSmallIntegerField from .fields import SlugField as SlugField +from .fields import SmallAutoField as SmallAutoField from .fields import SmallIntegerField as SmallIntegerField from .fields import TextField as TextField from .fields import TimeField as TimeField diff --git a/django-stubs/db/models/fields/__init__.pyi b/django-stubs/db/models/fields/__init__.pyi index d4c74af..22b9122 100644 --- a/django-stubs/db/models/fields/__init__.pyi +++ b/django-stubs/db/models/fields/__init__.pyi @@ -500,3 +500,4 @@ class DurationField(Field[_ST, _GT]): class BigAutoField(AutoField[_ST, _GT]): ... class CommaSeparatedIntegerField(CharField[_ST, _GT]): ... +class SmallAutoField(AutoField[_ST, _GT]): ... diff --git a/tests/typecheck/fields/test_base.yml b/tests/typecheck/fields/test_base.yml index 9d3cf23..2b2f012 100644 --- a/tests/typecheck/fields/test_base.yml +++ b/tests/typecheck/fields/test_base.yml @@ -174,3 +174,12 @@ obj = EncodedMessage(b'\x010') reveal_type(obj.message) # N: Revealed type is "Union[builtins.bytes, builtins.memoryview]" + +- case: test_small_auto_field_class_presents_as_int + main: | + from django.db import models + class MyModel(models.Model): + small = models.SmallAutoField(primary_key=True) + obj = MyModel() + + reveal_type(obj.small) # N: Revealed type is "builtins.int*"