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?
Siehe diese Lösung: Django admin: make field editierbare hinzufügen, aber nicht bearbeiten
überschreiben get_readonly_fields Methode:
%Vor% 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:
Benutzer django admin baut die Funktion has_change_permission () auf und gibt false zurück, um das Objekt Edit view einzuschränken.
%Vor%Tags und Links django django-admin