I am confused about my permissions options. It seems I can write permissions directly on the model, I can use the permission_required decorator on my view, and I can use the {{ perms }} variable in my template.
Q1: Are these intended to all be used together, reinforcing each other, or are they separate options that may even be mutually exclusive, or redundant and therefore not DRY?
Q2: What happens when a user has access to model 1, but not model 2, where 1 and 2 have a foreign key relation to each other? Are lookups automatically blocked (permission denied) even when the user does not access Model 2 directly? What if some of that content comes up in an onsite search request?
Q3: I’m pretty sure I don’t need or want object or field or row level permissions – unless that’s the best way to deny access to the FK?