Return corresponding descriptors for some fields in class access (#137)

* return corresponding descriptors for some related fields in class access

* return corresponding descriptors for file fields in class access

* fix tests
This commit is contained in:
Maxim Kurnikov
2019-08-23 04:03:03 +03:00
committed by GitHub
parent 656105bab2
commit 09767210ec
3 changed files with 89 additions and 6 deletions

View File

@@ -519,4 +519,28 @@
class Book(Entry):
pass
class Article(Entry):
pass
pass
- case: test_related_fields_returned_as_descriptors_from_model_class
main: |
from myapp.models import Author, Blog, Publisher, Profile
reveal_type(Author.blogs) # N: Revealed type is 'django.db.models.fields.related_descriptors.ManyToManyDescriptor'
reveal_type(Blog.publisher) # N: Revealed type is 'django.db.models.fields.related_descriptors.ForwardManyToOneDescriptor'
reveal_type(Publisher.profile) # N: Revealed type is 'django.db.models.fields.related_descriptors.ForwardOneToOneDescriptor'
installed_apps:
- myapp
files:
- path: myapp/__init__.py
- path: myapp/models.py
content: |
from django.db import models
class Profile(models.Model):
pass
class Publisher(models.Model):
profile = models.OneToOneField(Profile, on_delete=models.CASCADE)
class Blog(models.Model):
publisher = models.ForeignKey(Publisher, on_delete=models.CASCADE)
class Author(models.Model):
blogs = models.ManyToManyField(Blog)
file = models.FileField()