showlett.com / Posts

Linh Fish Dev Podcast #13: Django admin: phân quyền theo nhóm — nhân viên chỉ xem, quản lý mới được sửa trong 5 phút

2026-10-25 · Original

Tập 13: Django admin phân quyền theo nhóm — nhân viên chỉ xem, quản lý mới được sửa, trong 5 phút. Bạn sẽ nghe vì sao quyền Django cấp theo model khiến có quyền sửa là sửa mọi bài, và vì sao chỉ lọc danh sách hiển thị không chặn được người dùng mở trực tiếp địa chỉ sửa hoặc xóa. Giải pháp là ghi đè has_view_permission(), has_change_permission() và has_delete_permission() — luôn gọi hàm của lớp cha trước để giữ kiểm tra quyền model gốc — rồi rẽ nhánh theo nhóm: cả hai nhóm đều xem được, chỉ Quản lý sửa được, chỉ superuser xóa được, cộng thêm get_queryset() để nhân viên chỉ thấy bài của mình. Nhớ kỹ: lọc queryset chỉ ẩn dòng khỏi danh sách, còn nút Sửa, nút Xóa và trang chi tiết do ba phương thức has quyết định; và ba phương thức này chỉ có hiệu lực trong admin, view và API phải tự kiểm tra riêng. Đừng quên tick Staff status — thiếu cờ này, Django chặn ngay ở cổng đăng nhập admin dù đủ quyền model.

Đọc bài viết đầy đủ kèm code mẫu đã kiểm chứng chạy được tại: Django admin: phân quyền theo nhóm — nhân viên chỉ xem, quản lý mới được sửa trong 5 phút

English version

Nghe Linh Fish Dev Podcast trên:

SpotifyApple PodcastsAmazon MusicYouTubeCastboxPocket CastsTrueFansPod.link

Submitted links

Pages submitted to IndexVero for crawler discovery. They belong to the people who submitted them.

More posts