mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-06 12:14:28 +08:00
remove catch-all __getattr__ for Manager, fix some issues with manager methods (#227)
This commit is contained in:
@@ -28,4 +28,20 @@
|
||||
from django.db import models
|
||||
|
||||
class Blog(models.Model):
|
||||
created_at = models.DateTimeField()
|
||||
created_at = models.DateTimeField()
|
||||
|
||||
|
||||
- case: queryset_missing_method
|
||||
main: |
|
||||
from myapp.models import User
|
||||
reveal_type(User.objects) # N: Revealed type is 'django.db.models.manager.Manager[myapp.models.User]'
|
||||
User.objects.not_existing_method() # E: "Manager[User]" has no attribute "not_existing_method"
|
||||
installed_apps:
|
||||
- myapp
|
||||
files:
|
||||
- path: myapp/__init__.py
|
||||
- path: myapp/models.py
|
||||
content: |
|
||||
from django.db import models
|
||||
class User(models.Model):
|
||||
pass
|
||||
@@ -309,6 +309,7 @@
|
||||
from myapp.models import User
|
||||
reveal_type(User.objects.get()) # N: Revealed type is 'myapp.models.User*'
|
||||
reveal_type(User.objects.select_related()) # N: Revealed type is 'myapp.models.User_MyManager[myapp.models.User]'
|
||||
reveal_type(User.objects.get_instance()) # N: Revealed type is 'builtins.int'
|
||||
installed_apps:
|
||||
- myapp
|
||||
files:
|
||||
@@ -317,6 +318,7 @@
|
||||
content: |
|
||||
from django.db import models
|
||||
class MyManager(models.Manager):
|
||||
pass
|
||||
def get_instance(self) -> int:
|
||||
pass
|
||||
class User(models.Model):
|
||||
objects = MyManager()
|
||||
|
||||
Reference in New Issue
Block a user