私はあなたの助けが必要です、私はいくつかのモデルを持っています:
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
したがって、ユーザー(adminおよびグループ "Personal"の一部のユーザー)がビューで対話している場合、action_checkboxを表示できません...
何が問題なのかわかりません。
アイデアは、管理者ユーザーまたは個人グループのユーザーとqs.count>1に対してのみアクション「baja」を使用できるようにすることです。