@Heavy10110

Расширение модели user и GCBV?

Есть апп accounts, models.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models
from django.conf import settings
from django.contrib.auth.models import User

def download_location_of_usrpic(instance, filename):
	return "%s/%s" %(instance.id, filename)

class Profile(models.Model):
	user = models.OneToOneField(User, on_delete=models.CASCADE)
	image = models.ImageField(
		upload_to=download_location_of_usrpic,
		null=True, 
		blank=True, 
		height_field="height_field", 
		width_field="width_field"
	)
	height_field = models.IntegerField(default=0)
	width_field = models.IntegerField(default=0)


Views.py

@method_decorator(login_required, name='dispatch')
class UserUpdateView(UpdateView):
	model = User
	fields = ('first_name', 'last_name', 'email', 'image', )
	template_name = 'my_account.html'
	success_url = reverse_lazy('my_account')

	def get_object(self):
		return self.request.user


Получаю
Exception Value: 	
Unknown field(s) (image) specified for User


Пробовал менять поле на user__image , ничего.
  • Вопрос задан
  • 192 просмотра
Пригласить эксперта
Ответы на вопрос 1
Astrohas
@Astrohas
Python/Django Developer
Потому что у модели user нет поля image. Оно есть у Profile. Либо вручную получайте ее из POST, либо получайте ее через форму (не modelform), а затем сохраняйте как подобает
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы