문제

이 질문은 이미 여기에 답이 있습니다.

Django 관리 사이트에서 "추가"기능을 제거하는 방법이 있습니까? 특정 엔티티의 경우 Django 관리자가 기존 관리자를 보거나 기존의 것을 변경할 수 있지만 새 엔티티 만 추가하지 않기를 원합니다.

도움이 되었습니까?

해결책

물론 지침에 따라 관리자를 매우 세분화 할 수 있습니다. 여기 - 나는 당신이 원하는 것이 부분적으로 우발적으로 얻을 수 있다고 생각합니다. ModelAdmin.save_model(self, request, obj, form, change) 당신 자신의 ModelAdmin 하위 클래스, 상점에서 아무 일도 일어나지 않도록 change 거짓입니다 (즉, 변화보다는 추가하려는 시도). ModelAdmin.add_view(self, request, form_url='', extra_context=None) "Add View"를 표시하려면 관리자 에게이 경로를 통해 객체를 추가 할 수 없다는 것을 명확하게합니다. 나는 실제로 당신이 필요로하는 특정 관리자 사용자 정의를 수행하지 않았지만 다른 사람을 해냈으며 그들은 매우 순조롭게 작동하는 것 같습니다!

다른 팁

관리자 인터페이스 내에서 각 사용자 그룹의 권한을 사용자 정의 할 수 있습니다. /admin/auth/group 그리고 그것은 거기에서 간단해야합니다.

이것은 이전 답변에서 제공하는 솔루션만큼 세분화되지는 않지만 관리자를 사용자 정의 할 필요없이 대부분의 요구를 처리합니다.

액세스를 제한하기 위해 권한을 변경하면 FK/MTM 필드에 의해 여전히 플러스 부호가 나타납니다. '권한 거부'가있는 팝업 창이 열리는 클릭을 클릭하십시오.

실제로 관리자에게 모델을 등록하지 않으면 서 플러스 부호를 완전히 제거 할 수 있습니다.

사용자가 하나 이상을 선택할 수있는 사전 정의 된 범주가있는 상황이 있습니다. 이를 수행하는 가장 좋은 방법은 Models.manytomany 필드입니다. 관리자에 모델을 등록하고 필요에 따라 데이터를 입력 한 다음 등록을 제거 할 수 있습니다.

쉬운 효과적인 방법은 설정하는 것입니다 max_num=0 그 특정 인라인을 위해.

Satya의 설정 max_num = 0에 대한 제안은 완벽하게 작동합니다.

Modelform 클래스의 Django 문서에 따라 :

JavaScript 지원 브라우저가있는 사용자의 경우 추가 인수의 결과로 제공된 것 외에 추가 인라인을 추가 할 수 있도록 "다른 추가"링크가 제공됩니다.

현재 표시된 양식의 수가 MAX_NUM을 초과하거나 사용자에게 JavaScript가 활성화되지 않은 경우 동적 링크가 나타나지 않습니다.

그리고

일반 양식 세트와 마찬가지로 Max_Num 및 추가 매개 변수를 ModelFormset_factory에 사용하여 표시된 추가 양식 수를 제한 할 수 있습니다.

max_num은 기존 객체가 표시되는 것을 막지 않습니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top