2016-04-13 2 views
1

Ich habe eine Tabelle namens x, die einige Informationen enthält. In dieser Tabelle habe ich eine EDIT und DELETE Links. Nun, was ich will ist, wenn ich mich als Administrator anmelde, möchte ich diese beiden Links aktivieren und wenn ich mich als Benutzer anmelde, möchte ich nicht, dass sie aktiviert werden und wenn dieser Benutzer irgendwelche Informationen in dieser Tabelle hinzufügt, nur für diese spezielle Information EDIT und DELETE Links muss aktiviert sein (wo Benutzer nicht den Zugriff auf EDIT haben oder löschen Sie die anderen Informationen) Gibt es einen Weg? Wenn ja, bitte hier erwähnen.Wie kann ich dem Benutzer in django admin nur eine Ansichtsberechtigung geben?

Thankyou

Antwort

0

Änderung definieren und löscht die Erlaubnis, den is_staff Status in Ihrer Admin-Klasse Überprüfung

def has_change_permission(self, request, obj=None): 
    if not request.user.is_staff: 
     return False 

def has_delete_permission(self, request, obj=None): 
    if not request.user.is_staff: 
     return False 
+0

einige Änderungen im Code Bitte benutzen und funktioniert zum Löschen in Ordnung. Aber wenn ich auf Bearbeiten klicken, bearbeitet es –

+0

, wenn Benutzer den Status "Nicht-Mitarbeiter" haben, können sie nicht den Admin eingeben –

+0

, die nicht alles in "Nur-Ansicht-Modus" macht. Es macht sie nur nicht in der Lage, zu jeder Objekt-Admin-Seite zu gehen, um die Daten zu sehen (und kann nicht löschen) –

Verwandte Themen