103 votes

Django admin, masquer un modèle

Sur la page racine du site d’administration où les modèles enregistrés apparaissent, je souhaite masquer plusieurs modèles enregistrés auprès de l’administrateur Django.

Si je les désenregistre directement, je ne suis pas en mesure d’ajouter de nouveaux enregistrements car l’ajout d’un nouveau symbole « + » disparaît.

Comment cela peut-il être fait ?

138voto

shaunsephton Points 646

Sur la base de la réponse de x0nix, j’ai fait quelques expériences. Il semble que le renvoi d’un dict vide exclut `` le modèle de l’index.html, tout en vous permettant de modifier directement les instances.

23voto

x0nix Points 131

J’ai eu le même problème, voici ce que j’ai trouvé.

Comme dans la solution précédente - copiez l’index.html de django vers votre /admin/index.html et modifiez-le comme ceci:

Et créez une sous-classe ModelAdmin :

Désormais, tout modèle enregistré avec la sous-classe HiddenModelAdmin n’apparaîtra pas dans la liste d’administration, mais sera disponible via le symbole « plus » en détail:

2voto

Ranel Padon Points 151

À partir de Django 1.8.18, a toujours un problème. Donc, dans notre cas, nous avons également utilisé lefichier . De même, nous devons masquer le modèle pour un utilisateur spécifique uniquement, mais le `` devrait pouvoir accéder à son entrée d’index.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X