Django projemde daha ayrıntılı bir izin almayı çok isterdim, ancak hangi uygulamanın kullanılacağına karar veremiyorum. Ne var gibi bir şeydir:Django izinleri
Django standart izinlerle Şimdiclass 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)
Ben eklenti, değişim arasında seçim ve silme, ne olmasını istiyorsanız genişletilmiş değişiklik izni olduğunu verme yeteneğini sunmayı olanağına sahip Grup haklarını yalnızca örneğin logoyu değiştirmek, ancak aynı grubun öğe açıklamasını değiştirmesine izin vermemek. Bir kullanıcının giriş ilişkisine başvurmasını istemiyorum ya da buna ihtiyaç duymuyorum, ancak standart grup arayüzünü kullanarak bir modelin tek alanlarını düzenlemek için farklı gruplara olanak sağlamanız yeterli. Nesne başına izinlerden mi söz ettiğimden bile emin değilim?
Neyin en iyi kullanılacağını veya nasıl uygulayacağımı bilen biri var mı? Ayrıca, her şeye erişebilen/okuyabilecek ancak değişiklik yapamayan salt okunur kullanıcılara sahip olabileceğimi de hayal edebiliyorum, bu da mümkün değil.
Yardımlarınız için teşekkür ederiz.
Hayır, bunlar nesne düzeyinde izinler değildir. Kısa cevap: yapılabilir, ancak çok fazla kod var. Uzun cevap: Bir vanilla django yöneticisinde tarif ettiğiniz şeyi yapamazsınız. Bir yaklaşım, ayrı ModelAdmins'i AdminSite örneklerini ayırmak için etkin olan ilgili alanlarla bağlantı kurmaktır. Yöneticilerinizin gruplarını kontrol etmesini ve her grubun sahip olduğu izinleri sabit kodla doldurmak için AdminSite alt sınıfını kullanmanız gerektiğini düşünürüm; django'nun yerleşik izinlerinde izin verilen/izin verilmeyen alanlar var. – AdamKG
Beklenen cevap ve onay için çok teşekkür ederim.Görevimi gerçekleştirmek için ayrı AdminSite alt sınıflarını uygulamak için sabırsızlanıyorum. – tinti