class PostAdmin(models.ModelAdmin):
def changelist_view(self, request, extra_context=None):
setattr(self, 'user', request.user)
return super().changelist_view(request, extra_context)
def display_confirm_button(self, obj):
# you can use self.user here
要访问已登录的用户,您需要访问request对象。无法在您的
display_confirm_button
方法中访问请求,因为您只能访问正在编辑的对象obj
。在解决方案是重写
^{pr2}$get_list_display
,它可以访问request
对象。然后,您可以在有权访问请求的getlist_显示中定义您的display_confirm_button
,并在返回的列表中包含可调用的display_confirm_button
。在IMHO的最佳解决方案是将当前用户存储在
changelist_view
中,以便在您的方法中访问它。在你可以通过创建一个这样的mixin来保持干燥:
^{pr2}$相关问题 更多 >
编程相关推荐