Chciałbym mieć bardziej szczegółowe uprawnienia w moim projekcie Django, ale nie mogę zdecydować, z której aplikacji korzystać. Co mam coś takiego jak:Uprawnienia Django
class Item(models.Model):
name = models.CharField(max_length=64, unique=True)
description = models.CharField(max_length=128, default='')
logo = ImageField(upload_to=/tmp, blank=True, null=True)
Teraz z uprawnieniami standardowymi Django mam możliwość wyboru pomiędzy dodawać, zmieniać i usuwać, co chcę mieć to uprawnienie zmiany rozszerzony, aby zaoferować możliwość nadawania grupuj tylko prawa do zmiany logo, ale nie zezwalaj tej samej grupie na modyfikowanie opisu przedmiotu. Nie chcę ani nie potrzebuję relacji użytkownik-użytkownik, ale po prostu daje możliwość różnych grup do edycji pojedynczych pól modelu przy użyciu standardowego interfejsu administratora. Nie jestem nawet pewien, czy mówię o pozwoleniu na obiekt?
Czy ktoś wie, co najlepiej użyć lub w jaki sposób sam go wdrożyć? Mogę sobie również wyobrazić, że mam tylko do odczytu użytkowników, którzy mogą uzyskać dostęp do/przeczytać wszystko, ale nie będą mogli modyfikować, nie jest to możliwe ani.
Dzięki za pomoc.
Nie, to nie są uprawnienia na poziomie obiektu. Krótka odpowiedź: może być wykonalna, ale jest dużo kodu. Długa odpowiedź: nie możesz zrobić tego, o czym piszesz w waniliowym django. Jednym z podejść byłoby podłączenie osobnych modeli ModelAdmins do odpowiednich pól włączonych w celu oddzielenia instancji AdminSite. Myślę, że prawdopodobnie będziesz musiał podklasować AdminSite, aby sprawdziło to w twoich grupach, i zakodować na sztywno uprawnienia każdej grupy - uprawnienia wbudowane django nie mają pojęcia dozwolonych/niedozwolonych pól. – AdamKG
Dziękuję bardzo za spodziewaną odpowiedź i potwierdzenie.Będę oczekiwał wdrożenia oddzielnych pod-klas AdminSite, aby osiągnąć moje zadanie. – tinti