Добрый день.
Довольно не типичная задача для Django мне кажется.
Есть модель User и допустить модель данных поставки Supply
class Supply(model.Model):
name = models.CharField(...)
field1 = models.CharField(...)
field2 = models.CharField(...)
field3 = models.CharField(...)
Нужно сделать в админке интерфейс для ограничивания видимости какого либо поля определенной поставки для конкретного юзера.
Мне пришло в голову создать промежуточную модель в которой указывать конкретного пользователя, поставку и поля которые он не должен увидеть(по-умолчанию видит всё):
class IntermediateTable(models.Model):
user = models.ForeignKey(User)
supply = models.ForeignKey(Supply)
access = models.ManyToManyField(Choices, null=True, blank=True)
В чойсес добавить названия полей модели Supply.
class Choices(models.Model):
description = models.CharField(max_length=300)
Затем фильтровать кверисет во вью. Чую адский хардкод, подскажите более изящное решение