gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 11:03:19 25 4
gpt4 key购买 nike

我使用下面的代码在 Django Admin 中添加自定义表单:

class MyAdmin(admin.ModelAdmin):
form = MyForm

但是,表单有一个重写的构造函数:

def __init__(self, author, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.author = author

如何将 Admin 当前用户传递给表单构造函数?

最佳答案

像这样更改您的 MyAdmin 类:

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 中的当前用户。

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

关于python - 在 Django Admin 中使用带有自定义 __init__ 的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26959934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com