Django 管理员操作 - 未找到覆盖操作



我需要你们的帮助,我有一些模型:

class VerificableAdmin(admin.ModelAdmin):
    def get_actions(self, request):
        actions = super(VerificableAdmin, self).get_actions(request)
        op = Operador.get_by_user(request)
        if not op is None:
            del actions['delete_selected']
        return actions
class CallcenterAdmin(VerificableAdmin):
    list_display    = ['id']
    search_fields   = ['ani']
    actions         = ['baja']
    def baja(self, request, queryset):
        print "hola"
    baja.short_description = 'Baja'
    def get_actions(self, request):
        actions = super(VerificableAdmin, self).get_actions(request)
        if not request.user.is_superuser and request.user.groups.filter(name='Personal').count() and 'delete_selected' in actions:
            del actions['delete_selected']
        return actions
    def queryset(self, request):
        qs = super(CallcenterAdmin, self).queryset(request)
        if not request.user.is_superuser and request.user.groups.filter(name='Personal').count():
            qs = qs.filter(ani=request.GET.get('q'))
            if qs.count() and qs[0].accion == 'baja':
                self.actions = None

因此,当用户(管理员和"个人"组中的某个用户)在视图上进行交互时,我无法查看action_checkbox...

我不知道有什么问题。

这个想法是仅对管理员用户或个人组中的用户和 qs.count> 1 中的用户提供操作"baja"。

def custom_fn(self, request, queryset):
    """Function Description it acts as action name so please add this""
created_actions = [your custom functions to be listed in django action drop down]
def create_action(self, name):
    call_action = name.__name__
    if name in self.created_actions:
        name = name.__doc__
        def call_function(self, request, queryset):
            if call_action == "custom_fn": self.custom_fn(request, queryset)
            
    return (name, (call_function, name, name))
def get_actions(self, request):
    return dict(self.create_action(x) for x in self.created_actions)

最新更新