Как сохранить модель профиля пользователя с полем изображения и полем пользователя как переменную OneToOneField в django rest framework
Модель пользователя выглядит следующим образом.
class User(AbstractUser):
username = None
email = models.EmailField('email address', unique=True)
first_name = models.CharField('First Name', max_length=255, blank=True,
null=False)
last_name = models.CharField('Last Name', max_length=255, blank=True,
null=False)
objects = UserManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username']
Модель профиля пользователя выглядит следующим образом.
class UserProfile(models.Model):
user = models.OneToOneField(User, related_name='profile', on_delete=models.CASCADE)
avatar = models.ImageField(upload_to=avatar_image, blank=True, null=True)
Это имеет смысл. Обратите внимание, что django использует библиотеку PIL для работы с изображениями
В вашем виртуальном виртуальном окружении
pip install pillow
В вашем models.py
from PIL import images
Изображения обрабатываются как статические файлы. Работа со статическими файлами описана здесь