Iva*_*van 4 python django django-forms django-admin
我使用下面的代码在 Django Admin 中添加一个自定义表单:
class MyAdmin(admin.ModelAdmin):
form = MyForm
Run Code Online (Sandbox Code Playgroud)
但是,该表单有一个重写的构造函数:
def __init__(self, author, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.author = author
Run Code Online (Sandbox Code Playgroud)
如何将 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
Run Code Online (Sandbox Code Playgroud)
您现在可以forms.ModelForm通过访问来访问您的当前用户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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3232 次 |
| 最近记录: |