属性错误- 'QuerySet' 对象没有属性

attribute error- 'QuerySet' object has no attribute

如果我的特定用户的模型对象已经存在但它给出了一个属性错误,我正在尝试创建一个初始化表单

我的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'

即使你存在

提前致谢

查询集是 "list" 个对象。您应该使用 first() 方法从查询集中获取第一个实例:

u = user_profile.objects.filter(username=request.session.get('username', '')) \
                        .first()

你可以试试这个

try:
   u = user_profile.objects.get(username =request.session.get('username', None))
   form = user_profile_form(initial = {'last_name': u.last_name})
   u.delete()
except ObjectDoesNotExist:
   form = user_profile_form()