File tree Expand file tree Collapse file tree 1 file changed +36
-1
lines changed Expand file tree Collapse file tree 1 file changed +36
-1
lines changed Original file line number Diff line number Diff line change 403403
404404
405405 class MyModel(models.Model):
406-
407406 objects = MyModelManager()
408407
408+
409409 - case : override_manager_create2
410410 main : |
411411 from myapp.models import MyModel
582582
583583 class MySubModel(MyModel):
584584 objects = MySubManager()
585+
586+ - case : subclass_manager_without_type_parameters_disallow_any_generics
587+ main : |
588+ from myapp.models import MySubModel
589+ reveal_type(MySubModel.objects)
590+ reveal_type(MySubModel.objects.get())
591+ installed_apps :
592+ - myapp
593+ mypy_config : |
594+ [mypy-myapp.models]
595+ disallow_any_generics = true
596+ out : |
597+ main:2: note: Revealed type is "myapp.models.MySubManager[myapp.models.MySubModel]"
598+ main:3: note: Revealed type is "Any"
599+ myapp/models:9: error: Missing type parameters for generic type "MyManager"
600+ files :
601+ - path : myapp/__init__.py
602+ - path : myapp/models.py
603+ content : |
604+ from typing import TypeVar
605+ from django.db import models
606+
607+ T = TypeVar("T", bound="MyModel")
608+
609+ class MyManager(models.Manager[T]):
610+ pass
611+
612+ class MySubManager(MyManager):
613+ pass
614+
615+ class MyModel(models.Model):
616+ pass
617+
618+ class MySubModel(MyModel):
619+ objects = MySubManager()
You can’t perform that action at this time.
0 commit comments