django在UpdateView中提交多个表单

时间:2018-11-28 15:10:58

标签: python django django-class-based-views

我想与Profile(用户扩展)模型一起更新内置的User模型。

这是 forms.py

class UserUpdateForm(forms.ModelForm):
    class Meta:
        model = auth_models.User
        fields = ['first_name', 'last_name', 'email']


class ProfileUpdateForm(forms.ModelForm):
    class Meta:
        model = Profile
        fields = ['date_of_birth']

这是我的 view.py

class ProfileUpdateView(LoginRequiredMixin, generic.UpdateView, MultiModelForm):
    model = Profile
    fields = '__all__'

    def get_object(self, *args, **kwargs):
        username = self.request.user
        return get_object_or_404(Profile, user__username__iexact=username)

    def get_success_url(self):
        return reverse('accounts:profile')

这只是编辑个人资料字段。

我也测试了django-betterforms,但无法使其正常工作。我可以使用get_context_data()显示2种形式,但是我无法保存到模型中,而这仅仅是HTML。

我只想知道第二种形式的get_object如何?

0 个答案:

没有答案