tags:

views:

65

answers:

1

I'd like to be able to give some existing Users a custom permission which I will require for accessing a view.

I think I need to add the new permission to the Postgres table auth_permission, but I suspect there is a higher-level way to do this. Also there is a column in auth_permission for content_type and I don't know what its value should be.

What is the right way to do this?

+1  A: 

Have a look at how to create custom permissions in the docs.

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

Then run manage.py syncdb.

Use the permission_required decorator to restrict access to your view.

sheats
Thanks. That worked. What initially confused me was that it creates a new model just for the permission. But I guess that makes sense.
Mitch