Comment enregistrer une seule donnée sur l'écran de gestion de Django

Objectif

Je souhaite enregistrer des données (par exemple, des paramètres) qui n'en nécessitent qu'une au total

Méthode

Model

models.py


from django.db import models

class Setting(models.Model):
	pass

Admin

admin.py


from django.contrib import admin
from .models import Setting

class SettingAdmin(admin.ModelAdmin):
	def has_add_permission(self, request):
        #Autoriser l'enregistrement d'un seul paramètre
        count = Setting.objects.all().count()
        if count == 0:
            return True
        return False

    def has_delete_permission(self, request, obj=None):
        #Empêcher la suppression des paramètres
        return False
        
admin.site.register(Setting,SettingAdmin)

En remplaçant has_add_permission, vous pouvez contrôler le nombre d'inscriptions et l'impossibilité d'ajouter par utilisateur à partir de request.user. De même, vous pouvez remplacer has_delete_permission pour contrôler la suppression.

Recommended Posts

Comment enregistrer une seule donnée sur l'écran de gestion de Django
Comment enregistrer les mêmes données plusieurs fois avec une seule entrée sur l'écran de gestion de Django
Comment filtrer les clés externes qui peuvent être sélectionnées sur l'écran d'administration de Django
L'histoire de l'échec de la mise à jour de "calendar.day_abbr" sur l'écran d'administration de django
Comment ajouter un traitement de pré-sauvegarde lors de l'ajout d'un objet sur le site d'administration de Django
Comment s'inscrire auprès de pypi
django + nginx Comment faire en sorte que seuls les utilisateurs connectés voient les images
Comment retourner les données contenues dans le modèle django au format json et les mapper sur le dépliant
Comment vérifier la version de Django
Comment faire exécuter un thread de processus uniquement sur un cœur de processeur spécifique
[2015/11/19] Comment enregistrer un service localement à l'aide du SDK python avec naoqi os
Comment rendre plusieurs noyaux sélectionnables sur Jupyter
[Django] Comment obtenir des données en spécifiant SQL.
Comment imprimer des messages de débogage sur la console Django
Je suis accro à la différence dans la façon dont Flask et Django reçoivent les données JSON
Implémentez la fonction de saisie semi-automatique sur l'écran d'administration de Django
Personnalisez la page modèle de l'écran d'administration de Django
Réfléchissez à la programmation de Python sur votre iPad
Comment appliquer des marqueurs uniquement à des données spécifiques avec matplotlib
Comment déployer une application Django dans le cloud Alibaba
Comment créer un environnement Django (python) sur Docker
Faire du modèle une chaîne sur le modèle HTML Django
Comment utiliser Django avec Google App Engine / Python
Comment utiliser Decorator dans Django et comment le créer
Comment profiter de Python sur Android !! Programmation en déplacement !!
Comment exécuter Django sur IIS sur un serveur Windows
Comment obtenir uniquement les données nécessaires du groupe de données structurées à l'aide d'une méthode polyvalente
Comment écrire une validation personnalisée dans Django REST Framework
[Hyperledger Iroha] Remarques sur l'utilisation du SDK Python
Ne perdez pas contre Ruby! Comment exécuter Python (Django) sur Heroku
Comment créer un jeu d'action multijoueur en ligne avec Slack
Comment vérifier le comportement d'ORM avec un fichier avec django
Je veux créer un éditeur de blog avec l'administrateur de django
Comment déployer Pybot, le manuel Python le plus simple, sur Heroku
Comment générer une requête à l'aide de l'opérateur IN dans Django
Comment effectuer les réglages initiaux à partir de la création de projet Django
Je n'arrive pas à me connecter à la page d'administration avec Django 3
Dans Django, comment abréger la longue chaîne de caractères affichée au milieu ...
Remarques sur l'utilisation de la guimauve dans la bibliothèque de schémas
DJango Memo: depuis le début (plus de modifications sur l'écran de gestion)
Django a changé pour enregistrer beaucoup de données à la fois
[ROS] Comment écrire un éditeur et un abonné sur un nœud
Comment imprimer des caractères sur la console avant de démarrer dans ARM
[Introduction à Python] Comment obtenir des données avec la fonction listdir
Comment utiliser le générateur
Comment gérer les trames de données
Comment utiliser le décorateur
Personnalisation de list_filter de l'écran d'administration de Django
Comment augmenter l'axe
Comment créer des couches AWS Lambda lors de l'exécution de sélénium × chrome sur AWS Lambda
Remarque sur la façon de vérifier la connexion au port du serveur de licences
Est-il facile de synthétiser un médicament sur le marché?
Créez le thème de Pythonista 3 comme Monokai (comment créer votre propre thème)
Comment faire une commande pour lire le fichier de paramètres avec pyramide
[Django] Corrige le pluriel du nom du modèle sur l'écran de gestion
Comment créer une bibliothèque .dylib à partir d'une bibliothèque .a avec OSX (El Capitan)
J'ai essayé d'enregistrer une station sur la plateforme IoT "Rimotte"
Table de décalage Django Afficher uniquement les installations auxquelles vous appartenez
Comment utiliser Jupyter sur le frontal de Spacon ITO
Comment déployer une application Django sur heroku en seulement 5 minutes