Django deaktiviert die Bearbeitung (aber erlaubt das Hinzufügen) in der TabularInline Ansicht

9

Ich möchte die Bearbeitung von ALLEN Objekten innerhalb einer bestimmten TabularInline-Instanz deaktivieren, während ich immer noch Additionen zulasse und gleichzeitig die Bearbeitung des übergeordneten Modells zulässt.

Ich habe dieses triviale Setup:

%Vor%

Ich habe versucht, eine has_change_permission -Funktion zu SuperviseeAdmin hinzuzufügen, die False bedingungslos zurückgibt, aber sie hatte keine Wirkung.

Ich habe versucht, actions = None in SuperviseeAdmin zu setzen, aber es hatte keine Wirkung.

Was könnte ich übersehen, das könnte funktionieren?

    
VoteyDisciple 01.06.2010, 17:10
quelle

4 Antworten

0

Siehe diese Lösung: Django admin: make field editierbare hinzufügen, aber nicht bearbeiten

überschreiben get_readonly_fields Methode:

%Vor%     
Sudipta 17.06.2013 13:15
quelle
0

Sie können versuchen, eine separate Inline-Klasse zu erstellen (siehe InlineModelAdmin docs ), das eine benutzerdefinierte ModelForm verwendet, in der Sie die Methode clean so anpassen können, dass beim Versuch, eine Aktualisierung durchzuführen, ein Fehler ausgegeben wird:

%Vor%     
Villiers Strauss 25.07.2016 17:53
quelle
0

Benutzer django admin baut die Funktion has_change_permission () auf und gibt false zurück, um das Objekt Edit view einzuschränken.

%Vor%     
Suresh Ratten 12.03.2018 05:01
quelle
-3
%Vor%     
russjman 27.01.2011 22:02
quelle

Tags und Links