Bonjour, je lis actuellement un chapitre qui explique comment restreindre les actions qu'un super utilisateur peut effectuer dans l'interface d'administration de Django :

«
Interdiction d'ajouter de nouveaux items

Le disquaire a décidé qu'il ne voulait pas ajouter de réservations par lui-même. Il préfère que les réservations figurant dans la base de données ne concernent que celles effectuées sur internet.

Le client étant roi, exaucez son souhait en utilisant la méthode has_add_permission :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
@admin.register(Booking)
class BookingAdmin(admin.ModelAdmin):
    # ...
    def has_add_permission(self, request):
        return False
 
class BookingInline(admin.TabularInline):
    # ...
    def has_add_permission(self, request):
        return False
»

Le problème c'est que cela me renvoie une erreur : « has_add_permission() takes 2 positional arguments but 3 were given »

Le cours que je lis concerne une ancienne version de Django et malgré mes recherches, je n'ai toujours pas trouvé (ou compris) comment faire cela sur la version 3.0 de Django.

Pouvez-vous m'aider svp ?

Je vous remercie,

Sinouhé