2009-12-09 9 views
14

Ich möchte in der Lage sein, einigen vorhandenen Benutzern eine benutzerdefinierte Berechtigung zu geben, die ich für den Zugriff auf eine Ansicht benötige.Eine benutzerdefinierte Berechtigung für einen Benutzer hinzufügen

Ich denke, ich muss die neue Erlaubnis der Postgres-Tabelle auth_permission hinzufügen, aber ich vermute, es gibt eine höhere Möglichkeit, dies zu tun. Auch gibt es eine Spalte in auth_permission für content_type und ich weiß nicht, was sein Wert sein soll.

Was ist der richtige Weg?

Antwort

22

Werfen Sie einen Blick auf, wie zu create custom permissions in der Dokumentation.

class USCitizen(models.Model): 
    # ... 
    class Meta: 
     permissions = (
      ("can_drive", "Can drive"), 
      ("can_vote", "Can vote in elections"), 
      ("can_drink", "Can drink alcohol"), 
     ) 

Dann führen Sie manage.py syncdb. Verwenden Sie permission_required decorator, um den Zugriff auf Ihre Ansicht zu beschränken.

+0

Danke. Das hat funktioniert. Was mich zunächst verwirrte war, dass es nur für die Erlaubnis ein neues Modell erstellt. Aber ich denke, das macht Sinn. – Mitch

Verwandte Themen