我一直在尋找答案,但可悲的是,沒有。Django:管理員行動選擇
我嘗試添加在Django管理下拉的動作(如Delete Selected
是),但增加了一些動作之後,我也加入了行動顯示了其他車型,我已按照documentation的例子,但沒有運氣
如何限制我添加到某個模型的操作?
在此先感謝。
(我用蟒2.7,django的1.8.2)
EDIT
我過濾通過由用戶類型的選擇(超級用戶或不):
#This a test application only
def fire_employee(modeladmin, request, queryset):
queryset.update(APP_STATUS=8)
fire_employee.short_description = "Fire/Retire Employee"
class hrd(admin.ModelAdmin):
model = hired_applicant
def get_actions(self, request):
actions = super(hrd, self).get_actions(request)
if not request.user.is_superuser:
if 'delete_selected' in actions:
del actions['delete_selected']
else:
self.actions.append(fire_employee)
return actions
list_display = ('FIRST_NAME', 'MIDDLE_NAME', 'LAST_NAME', 'EMAIL', 'APPLICATION_DATE', 'APP_STATUS')
admin.site.register(hired_applicant, hrd)
你能擴展上面的代碼來顯示其他的'AdminModel'類 – Nathaniel
編輯過,是否也可以在'fire_employee'中使用queryset.save()而不是'.update()'? –
您可以循環查詢集對每個模型調用.save()對於queryset中的obj:obj.APP_STATUS = 8; obj.save()' – Nathaniel