且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在 Django Admin 中使用带有自定义 __init__ 的表单

更新时间:2023-11-30 16:19:04

像这样改变你的 MyAdmin 类:

change your MyAdmin class like this:

class MyAdmin(admin.ModelAdmin):
    form = MyForm

    def get_form(self, request, **kwargs):
        form = super(MyAdmin, self).get_form(request, **kwargs)
        form.current_user = request.user
        return form

您现在可以通过访问 self.current_user 来访问 forms.ModelForm 中的当前用户.

You can now access the current user in your forms.ModelForm by accessing self.current_user.

def __init__(self, author, *args, **kwargs):
    super(MyForm, self).__init__(*args, **kwargs)
    self.author = author
    # access to current user by self.current_user