【发布时间】:2011-08-23 18:27:41
【问题描述】:
Django - Overriding get_form to customize admin forms based on request中的问题是通过hook get_form()方法,在请求对象中根据用户的权限选择不同的表单。
我想在迭代期间实际调用对象上的一个方法,该方法使用请求上下文来输出一些信息。
documentation 列出了四种挂钩表单显示的方法。
但函数签名不包括请求对象。如果他们这样做了,你可以写类似的东西(注意request 实际上不是一个论点):
class CustomAdmin(admin.ModelAdmin):
list_display = [ 'name', 'user_specific', ]
#
def user_specific(self, obj, request):
return obj.func1(request)
#
output.short_description = 'UserSpecific'
如果用于存储状态,覆盖 get_form() 将不是线程安全的......那么最好的方法是什么?
【问题讨论】:
-
当我思考这个问题时,我希望有人会指出,用户信息应该使用 ForeignKey 放入模型中。这种重构并不总是适用。
标签: django django-admin