add support for FIELDNAME_id for foreignkey/onetoonefield

This commit is contained in:
Maxim Kurnikov
2018-11-13 18:36:46 +03:00
parent dc4f606f63
commit 17be428776
2 changed files with 76 additions and 18 deletions

View File

@@ -15,6 +15,20 @@ publisher = Publisher()
reveal_type(publisher.books) # E: Revealed type is 'django.db.models.query.QuerySet[main.Book]'
[out]
[case testEveryForeignKeyCreatesFieldNameWithIdAttribute]
from django.db import models
class Publisher(models.Model):
pass
class Book(models.Model):
publisher = models.ForeignKey(to=Publisher, on_delete=models.CASCADE,
related_name='books')
book = Book()
reveal_type(book.publisher_id) # E: Revealed type is 'builtins.int'
[out]
[case testOneToOneField]
from django.db import models
@@ -30,3 +44,15 @@ reveal_type(profile.user) # E: Revealed type is 'main.User*'
user = User()
reveal_type(user.profile) # E: Revealed type is 'main.Profile'
[case testOneToOneFieldAttrWithUnderscoreID]
from django.db import models
class User(models.Model):
pass
class Profile(models.Model):
user = models.OneToOneField(to=User, on_delete=models.CASCADE, related_name='profile')
profile = Profile()
reveal_type(profile.user_id) # E: Revealed type is 'builtins.int'
[out]