Python 文章作者未设置为当前登录用户

Python 文章作者未设置为当前登录用户,python,django,Python,Django,我创建了这个简单的模型: class FormModel(models.Model): fullname = models.CharField(max_length=150) slug = models.SlugField(max_length=255) author = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True) 我通过了blank=True和null=True以便它

我创建了这个简单的模型:

class FormModel(models.Model):
    fullname = models.CharField(max_length=150)
    slug = models.SlugField(max_length=255)
    author = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True)
我通过了
blank=True
null=True
以便它可以通过
form\u valid
条件。然后将当前帖子的作者设置为当前登录用户,但听起来我在这里犯了一个错误。有人能帮忙吗。以下是视图的外观:

def FormsView(request):
    if request.method == 'POST':
        form = FormsProject(request.POST, request.FILES)
        if form.is_valid():
            form.save(commit=False)
            form.author = request.user.username
            print(form.author)
            form.save()
            return HttpResponse("Success")
    else:
        form = FormsProject()
    context = {
        'form': form,
        'user': request.user.username
    }
    return render(request, 'forms_project/forms.html', context)

谢谢

您需要存储来自
表单的对象。保存(…)
,然后为其指定作者值。另外,将
request.user.username
更改为
request.user
,如下所示:

if form.is_valid():
    modal = form.save(commit=False)
    modal.author = request.user
    modal.save()

是的,我忘了把它存储回去,为什么我不能传递
request.user.username
,因为
author
是一个FK字段,所以它需要一个对象
request.user.username
是一个字符串,因此
request.user
是需要分配的用户对象。