В администраторе вы можете создавать группы и назначать доступ к моделям, которые вам нужны, и то же самое можно было бы применить к пользователям, но вам может быть интересен ограниченный доступ к записям моделей, к которым пользователь добавил себя в систему. для того, чтобы достичь этого, вы должны определить один столбец в модели с внешним ключом для пользователей, как показано ниже я определил модель для компании и присваивается каждой компании пользователя:
класса Company (models.Model):
name = models.CharField(max_length=64, primary_key=True)
kam = models.ForeignKey(User, verbose_name='KAM', blank=True, null=True)
address = models.TextField(blank=True, null=True)
city = models.CharField(max_length=32, blank=True, null=True)
country = models.CharField(max_length=32, blank=True, null=True)
phone = models.CharField(max_length=32, blank=True, null=True)
fax = models.CharField(max_length=32, blank=True, null=True)
url = models.URLField(blank=True, null=True)
class Meta:
verbose_name_plural = 'Companies'
#unique_together = (('name', 'kam'),).
def __unicode__(self):
return self.name
Теперь ваша модель будет связана с пользователем, теперь можно ограничить записи, которые будут загружены в соответствии с вошедшего пользователя, используя admin.py в определении modeladmin как приведено ниже:
def queryset(self, request):
qs = super(CompanyAdmin, self).queryset(request)
# If super-user, show all comments
if request.user.is_superuser:
return qs
return qs.filter(kam=request.user)
то будет просто дайте мне знать, если это то, что вы хотите?
Также вы можете назначить право на чтение только справа. в модели admin
Администратор не предназначен для замены вашего собственного сайта; есть причина, по которой флаг, управляющий логином администратора, называется ** is_staff **. –
ВЫ МОЖЕТЕ УСТАНОВИТЬ РАЗРЕШЕНИЯ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ В АДМИНИСТЕ СВОБОДНЫМ ПОЛЬЗОВАТЕЛЕМ КАК СУПЕР ПОЛЬЗОВАТЕЛЯ –
Не делайте этого. Потратьте время, чтобы создать интерфейс для своих пользователей. Администратор не является и никогда не будет предназначен для общих действий пользователя. –