You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reveal_type(First().others) # N: Revealed type is "myapp.models.Other_ManyRelatedManager[myapp.models.First_others]"
1411
+
reveal_type(First().others.get()) # N: Revealed type is "myapp.models.Other"
1412
+
reveal_type(First.others) # N: Revealed type is "django.db.models.fields.related_descriptors.ManyToManyDescriptor[myapp.models.Other, myapp.models.First_others]"
1413
+
reveal_type(First.others.through) # N: Revealed type is "Type[myapp.models.First_others]"
1414
+
reveal_type(First.others.through.objects.get()) # N: Revealed type is "myapp.models.First_others"
1415
+
1416
+
reveal_type(Second().others) # N: Revealed type is "myapp.models.Other_ManyRelatedManager[myapp.models.Second_others]"
1417
+
reveal_type(Second().others.get()) # N: Revealed type is "myapp.models.Other"
1418
+
reveal_type(Second.others) # N: Revealed type is "django.db.models.fields.related_descriptors.ManyToManyDescriptor[myapp.models.Other, myapp.models.Second_others]"
1419
+
reveal_type(Second.others.through) # N: Revealed type is "Type[myapp.models.Second_others]"
1420
+
reveal_type(Second.others.through.objects.get()) # N: Revealed type is "myapp.models.Second_others"
1421
+
installed_apps:
1422
+
- myapp
1423
+
files:
1424
+
- path: myapp/__init__.py
1425
+
- path: myapp/models.py
1426
+
content: |
1427
+
from django.db import models
1428
+
class Other(models.Model):
1429
+
...
1430
+
1431
+
class Parent(models.Model):
1432
+
others = models.ManyToManyField(Other)
1433
+
1434
+
class Meta:
1435
+
abstract = True
1436
+
1437
+
class First(Parent):
1438
+
...
1439
+
1440
+
class Second(Parent):
1441
+
...
1442
+
1443
+
- case: test_m2m_self_on_abstract_model
1444
+
main: |
1445
+
from myapp.models import First, Second
1446
+
reveal_type(First().others) # N: Revealed type is "myapp.models.First_ManyRelatedManager[myapp.models.First_others]"
1447
+
reveal_type(First().others.get()) # N: Revealed type is "myapp.models.First"
1448
+
reveal_type(First.others) # N: Revealed type is "django.db.models.fields.related_descriptors.ManyToManyDescriptor[myapp.models.First, myapp.models.First_others]"
1449
+
reveal_type(First.others.through) # N: Revealed type is "Type[myapp.models.First_others]"
1450
+
reveal_type(First.others.through.objects.get()) # N: Revealed type is "myapp.models.First_others"
1451
+
1452
+
reveal_type(Second().others) # N: Revealed type is "myapp.models.Second_ManyRelatedManager[myapp.models.Second_others]"
1453
+
reveal_type(Second().others.get()) # N: Revealed type is "myapp.models.Second"
1454
+
reveal_type(Second.others) # N: Revealed type is "django.db.models.fields.related_descriptors.ManyToManyDescriptor[myapp.models.Second, myapp.models.Second_others]"
1455
+
reveal_type(Second.others.through) # N: Revealed type is "Type[myapp.models.Second_others]"
1456
+
reveal_type(Second.others.through.objects.get()) # N: Revealed type is "myapp.models.Second_others"
Copy file name to clipboardExpand all lines: tests/typecheck/models/test_contrib_models.yml
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@
15
15
reveal_type(User().is_anonymous) # N: Revealed type is "Literal[False]"
16
16
reveal_type(User().groups.get()) # N: Revealed type is "django.contrib.auth.models.Group"
17
17
reveal_type(User().user_permissions.get()) # N: Revealed type is "django.contrib.auth.models.Permission"
18
-
reveal_type(User.groups) # N: Revealed type is "django.db.models.fields.related_descriptors.ManyToManyDescriptor[django.contrib.auth.models.Group, django.db.models.base.Model]"
18
+
reveal_type(User.groups) # N: Revealed type is "django.db.models.fields.related_descriptors.ManyToManyDescriptor[django.contrib.auth.models.Group, django.contrib.auth.models.User_groups]"
19
19
reveal_type(User.user_permissions) # N: Revealed type is "django.db.models.fields.related_descriptors.ManyToManyDescriptor[django.contrib.auth.models.Permission, django.db.models.base.Model]"
20
20
21
21
from django.contrib.auth.models import AnonymousUser
0 commit comments