на самом деле Вам необходима не модель пермишенов а проверка на условия.
данные добавляются через форму. вот и валидируйте по Вашим условиям. Для Вас валидация - это всего лишь набор правил, которые формируют запрос к таблицам и в случае возвращения какого-то результата - это есть ошибка. Правила можно вынести в отдельную админку.
проверять формы можно через метод clean. Вам просто нужно переопределить его под свои нужды.
вот простой пример из него понятна вся суть
def clean(self):
form_data = self.cleaned_data
if form_data['password'] != form_data['password_repeat']:
self._errors["password"] = ["Password do not match"] # Will raise a error message
del form_data['password']
return form_data