Django व्यवस्थापक में डिफ़ॉल्ट हटाए गए क्रिया को कैसे हटाएं? निम्नलिखित काम करेगा?Django व्यवस्थापक में डिफ़ॉल्ट हटाएं कार्रवाई को हटाएं
actions = [ ]
Django व्यवस्थापक में डिफ़ॉल्ट हटाए गए क्रिया को कैसे हटाएं? निम्नलिखित काम करेगा?Django व्यवस्थापक में डिफ़ॉल्ट हटाएं कार्रवाई को हटाएं
actions = [ ]
यह काम करता है:
def get_actions(self, request):
actions = super(YourAdmin, self).get_actions(request)
if 'delete_selected' in actions:
del actions['delete_selected']
return actions
https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/#disabling-actions – felix
अपने व्यवस्थापक कक्षा में, परिभाषित has_delete_permission
False
वापस जाने के लिए:
class YourModelAdmin(admin.ModelAdmin):
...
def has_delete_permission(self, request, obj=None):
return False
फिर, यह बटन को नष्ट नहीं दिखाई देगा, और आप व्यवस्थापक इंटरफ़ेस में वस्तुओं को हटाने के लिए अनुमति नहीं दी जाएगी।
यह हटाए गए बटन को हटा देगा, लेकिन यह ड्रॉपडाउन से हटाए गए विकल्प को नहीं हटाएगा, जिसका उपयोग एकाधिक प्रविष्टियों का चयन करने और हटाने की क्रिया निष्पादित करने के लिए किया जाता है। –
@DawnTCherian, आप सही हैं। लेकिन हटाने की अनुमति नहीं है; प्रयास 403 निषिद्ध प्रतिक्रिया वापस करेगा। – falsetru
@DawnTCherian, FYI, आपका समाधान विस्तार व्यवस्थापक पृष्ठ में हटाएं बटन प्रकट करेगा। – falsetru
आप सभी कार्रवाई को निकालना चाहते हैं:
class UserAdmin(admin.ModelAdmin):
model = User
actions = None
आप कोई खास कार्य करना चाहते हैं:
class UserAdmin(admin.ModelAdmin):
model = User
actions = ['name_of_action_you_want_to_keep']
क्रिया = ['name_of_action_you_want_to_keep'] Django 2.0 के लिए काम नहीं करता है – fanny
आप "निष्क्रिय कर सकते हैं का चुनाव हटाना "एक्शन साइट-वाईड:
from django.contrib.admin import site
site.disable_action('delete_selected')
आप, इस कार्रवाई शामिल करने के लिए कार्रवाई की सूची पर 'delete_selected'
जोड़ने की जरूरत है:
actions = ['delete_selected']
कि आप Django व्यवस्थापक में समूहों और अनुमतियों का उपयोग कर सकते हैं। –