Skip to content

Commit c1f0b2e

Browse files
authored
Fix ContentType model fields to be infered as Any, refs typeddjango#2446 (typeddjango#2483)
1 parent 9fe8bb0 commit c1f0b2e

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

django-stubs/contrib/contenttypes/models.pyi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ class ContentTypeManager(models.Manager[ContentType]):
1313

1414
class ContentType(models.Model):
1515
id: int
16-
app_label: models.CharField
17-
model: models.CharField
16+
app_label = models.CharField(max_length=100)
17+
model = models.CharField(max_length=100)
1818
objects: ClassVar[ContentTypeManager]
1919
@property
2020
def name(self) -> str: ...
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
- case: test_contenttypes_models
2+
main: |
3+
from django.contrib.contenttypes.models import ContentType
4+
5+
c = ContentType.objects.create(app_label='abc', model='abc')
6+
reveal_type(c.id) # N: Revealed type is "builtins.int"
7+
reveal_type(c.app_label) # N: Revealed type is "builtins.str"
8+
reveal_type(c.model) # N: Revealed type is "builtins.str"
9+
10+
ContentType.objects.create(app_label=[]) # E: Incompatible type for "app_label" of "ContentType" (got "List[Any]", expected "Union[str, int, Combinable]") [misc]
11+
12+
custom_settings: |
13+
INSTALLED_APPS = ("django.contrib.contenttypes",)

0 commit comments

Comments
 (0)