Django: добавление разрешения на экземпляр конкретной модели

Я ищу лучший способ реализации прав пользователя, позволяющий пользователям редактировать конкретные экземпляры модели.

Например, у меня есть две модели:

model RadioChannel(models.Model):
    name = models.CharField(max_length=150, unique= True)
    number = models.IntegerField( unique= True)

model ProgramSchedule(models.Model):
    channel = models.ForeignKey("RadioChannel")
    name = models.CharField(max_length=150, unique= True)
    start_time = models.DateTimeField()

Теперь мои операторы - мои встроенные пользователи Django. Я хочу создавать группы для этих пользователей, чтобы они могли только добавлять/удалять/редактировать ProgramSchedules, которые разрешены. Кроме того, я хочу добавить группы к этим пользователям в панель администратора.

Спасибо.

Ответ 3

Я бы рекомендовал использовать Django Guardian для разрешений на уровне объекта.