【问题标题】:Django Get Auth User pk to be saved in model after form submission表单提交后,Django Get Auth User pk 保存在模型中
【发布时间】:2018-07-18 01:19:55
【问题描述】:

我目前正在实施 Django 的身份验证用户。我现在正在尝试创建一个包含两个简单字段的表单,其中用户的 pk 作为外键。对于模型,我有以下外键代码:

user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)

然后我有一个表单类(forms.ModelForm) 我在其中设置字段。我没有列出上述模型中的用户字段,因为我希望在用户提交表单时自动完成。

最后,我有以下post方法的看法:

    def post(self, request):
    form = self.form_class(request.POST)

    if form.is_valid():
        sub = form.save(commit=False)

        sub.save()

    return render(request, self.template_name, {'form': form})

非常感谢任何输入!

【问题讨论】:

    标签: django django-models django-forms django-templates django-views


    【解决方案1】:
    def post(self, request):
        form = self.form_class(request.POST)
    
        if form.is_valid():
            sub = form.save(commit=False)
            sub.user = request.user
            sub.save()
    
        return render(request, self.template_name, {'form': form})
    

    并确保此视图只能由经过身份验证的用户询问

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-27
      • 2021-12-29
      相关资源
      最近更新 更多