При попытке выгрузить изображение в профиль юзера появляются ошибки. Код и ошибки прилагаю ниже.
class Profile(models.Model):
# user = models.OneToOneField(User, on_delete=models.CASCADE)
# user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, verbose_name='User')
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='profile_user', verbose_name='User')
avatar = models.ImageField(settings.AUTH_USER_MODEL, default='media/no_image.jpg', blank=True)
class Meta:
verbose_name = _('Profile')
@receiver(post_save, sender=User)
def create_profile(sender, instance, created, **kwargs):
if created:
Profile.objects.create(user=instance)
views.py
def avatar_img(request):
# profile = request.user.profile_user
# profile = request.user.profile
profile = request.user
form = ProfileForm(instance=profile)
if request.method == 'POST':
form = ProfileForm(request.POST, request.FILES, instance=profile)
if form.is_valid():
form.save()
context = {'form': form}
return render(request, 'user.html', context)
User был взят из модели другого приложения forum.models
class User(AbstractBaseUser, PermissionsMixin):
# identifier = models.CharField(max_length=40, unique=True)
# date_of_birth = models.DateField()
# height = models.FloatField()
username = models.CharField(max_length=255, unique=True)
email = models.EmailField(max_length=255, unique=True)
password1 = models.CharField(max_length=255)
password2 = models.CharField(max_length=255)
is_staff = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
objects = UserManager()
USERNAME_FIELD = 'username'
REQUIRED_FIELDS = ['email', 'password']
Когда в модели views использую код " profile = request.user.profile_user"
Появляется ошибка "RelatedManager не имеет атрибут мета".
Когда " profile = request.user.profile", то жалуется на юзера, который не имеет атрибут профиль.
Когда использую " profile = request.user", то при попытке загрузить изображение в профиль оно не грузится.