Skip to content

Commit 030a217

Browse files
committed
Add regression test from typeddjango#2304
1 parent 2df5d4c commit 030a217

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

tests/typecheck/managers/test_managers.yml

+62
Original file line numberDiff line numberDiff line change
@@ -761,3 +761,65 @@
761761
generic_manager = models.Manager()
762762
generic_manager_from_generic_queryset = GenericManagerFromGenericQuerySet()
763763
generic_manager_from_populated_queryset = GenericManagerFromPopulatedQuerySet()
764+
765+
# Regression test for #2304
766+
- case: test_objects_managers_is_kept_with_specific_import_graph
767+
main: |
768+
from zerver.models import RealmFilter
769+
reveal_type(RealmFilter.objects) # N: Revealed type is "django.db.models.manager.Manager[zerver.models.linkifiers.RealmFilter]"
770+
installed_apps:
771+
- django.contrib.auth
772+
- django.contrib.contenttypes
773+
- confirmation
774+
- zerver
775+
files:
776+
- path: confirmation/__init__.py
777+
- path: confirmation/models.py
778+
content: |
779+
from django.db import models
780+
781+
from zerver.models import Realm
782+
783+
class Confirmation(models.Model):
784+
realm = models.ForeignKey(Realm, on_delete=models.CASCADE)
785+
- path: zerver/__init__.py
786+
- path: zerver/models/__init__.py
787+
content: |
788+
from zerver.models.linkifiers import RealmFilter as RealmFilter
789+
from zerver.models.realms import Realm as Realm
790+
from zerver.models.streams import Stream as Stream
791+
from zerver.models.users import UserProfile as UserProfile
792+
793+
RealmFilter.objects
794+
- path: zerver/models/linkifiers.py
795+
content: |
796+
from django.db import models
797+
798+
799+
class RealmFilter(models.Model):
800+
pass
801+
- path: zerver/models/realms.py
802+
content: |
803+
from django.db import models
804+
805+
806+
class Realm(models.Model):
807+
pass
808+
- path: zerver/models/streams.py
809+
content: |
810+
from django.db import models
811+
812+
from zerver.models.realms import Realm
813+
from zerver.models.users import UserProfile
814+
815+
816+
class Stream(models.Model):
817+
realm = models.ForeignKey(Realm, on_delete=models.RESTRICT)
818+
creator = models.ForeignKey(UserProfile, on_delete=models.RESTRICT)
819+
- path: zerver/models/users.py
820+
content: |
821+
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin
822+
823+
824+
class UserProfile(AbstractBaseUser, PermissionsMixin):
825+
pass

0 commit comments

Comments
 (0)