Я новичок в Django, и я учусь этому бросать учебник YouTube. Я пытаюсь создать простой блог, но у меня есть проблема, которая, я думаю, может быть связана с python или django версией. Я использую python3 .7.5 и django2.1.5. Я создал следующую модель, которая представляет профиль пользователя, который переопределяет метод сохранения, чтобы разрешить изменение размера загруженного изображения профиля.
from django.db import models
from django.contrib.auth.models import User
from PIL import Image
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
image = models.ImageField(default='default.jpg', upload_to='profile_pics')
def __str__(self):
return f'{self.user.username} Profile'
def save(self):
super().save()
img = Image.open(self.image.path)
if img.height > 300 or img.width > 300:
output_size = (300, 300)
img.thumbnail(output_size)
img.save(self.image.path)
Из этого я получаю несколько ошибок, например в str метод из этой строки:
return f'{self.user.username} Profile'
Я получаю эту ошибку:
Instance of 'OneToOneField' has no 'username' memberpylint(no-member)
И я получаю похожую ошибку каждый раз, когда использую self. Кто-нибудь может мне помочь?
РЕДАКТИРОВАТЬ: Вероятно, это проблема с vscode, потому что, если я пытаюсь напечатать:
self.user.username
Это работает нормально, у кого-нибудь была такая же проблема раньше?