Tôi có một ứng dụng django mà tôi muốn vô hiệu hóa việc xóa người dùng trong quản trị viên. Tôi đã cố gắng vô hiệu hoá các hành động và thiết lập quyền xóa thành false. Nhưng không ai trong số họ làm việc.Quản trị Django - Vô hiệu hóa xóa người dùng
from django.contrib.auth.models import User
class UserProfileAdmin(UserAdmin):
actions = None
HOẶC
def has_delete_permission(self, request):
return False
HOẶC
def get_actions(self, request):
actions = super(UserProfileAdmin, self).get_actions(request)
if 'delete_selected' in actions:
del actions['delete_selected']
return actions
admin.site.unregister(User)
admin.site.register(User, UserProfileAdmin)
Nhưng khi tôi đang sử dụng UserAdmin để thêm một nội tuyến để thông tin người dùng, nó đang làm việc tốt. Vì vậy, xin vui lòng đề nghị cho tôi một cách để vô hiệu hóa xóa người dùng trong quản trị django. Cảm ơn trước.
Bạn đang ghi đè 'has_add_permission' để tắt tính năng xóa? Ngoài ra, nó tốt hơn để vô hiệu hóa hành động xóa toàn cầu và rõ ràng thêm vào bất cứ nơi nào nó được yêu cầu – okm
Tôi xin lỗi. Nó thực sự là 'has_delete_permission'. Tôi đã phạm sai lầm ở đây. Và về việc vô hiệu hóa hành động xóa, toàn trang web là một ý tưởng hay. Nhưng khi chúng ta mở một mục người dùng, sẽ có một tùy chọn xóa trong hàng gửi (lưu hàng nút). Làm thế nào để vô hiệu hóa nó? – arulmr