им пытается сделать инициализацию формы, если моя модель объект purticular пользователя уже существует, но он дает сообщение об ошибке атрибутане атрибут error- объект «QuerySet» имеет никакого атрибута
моего views.py-
def edit_profile(request):
if request.method == 'POST':
post = request.POST
if 'save' in post:
form = user_profile_form(post)
if form.is_valid():
f = form.save(commit = False)
f.username = request.session.get('username')
f.save()
return redirect('wall')
else:
return redirect('error')
else:
if 'username' in request.session:
u = user_profile.objects.filter(username = request.session.get('username', ''))
if u:
form = user_profile_form(initial = {'last_name': u.last_name})
u.delete()
else:
form = user_profile_form()
return render(request, 'wall/edit_profile_page.html', {'form': form})
else:
return redirect('error')
и мой models.py-
class user_profile(models.Model):
username = models.CharField(max_length = 30, blank = True)
first_name = models.CharField(max_length = 30, blank = True)
last_name = models.CharField(max_length = 30, blank = True)
и он дает ошибку -
'QuerySet' object has no attribute 'last_name'
даже если и существует
заранее спасибо
я просто попытался, что использование user_profile.get() и worked..which лучше. .and что делает .get() do ?? – aquaman
В дополнение к ответу, вы не должны искать пустую строку, когда 'username' не найден. В вашей таблице может быть пользователь с пустым именем пользователя. Просто используйте 'request.session.get ('username')' – ozgur
Если запись не найдена, 'get()' выдает исключение 'ObjectDoesNotExist'. 'first()' в этом случае просто возвращает 'None'. – catavaran