2010-11-02 7 views
11

पर अनुमति जोड़ना मैं उपयोगकर्ताओं को विशिष्ट मॉडल उदाहरणों को संपादित करने की अनुमति देने के लिए उपयोगकर्ता अनुमतियों को लागू करने का सबसे अच्छा तरीका ढूंढ रहा हूं।Django: एक विशिष्ट मॉडल इंस्टेंस

model RadioChannel(models.Model): 
    name = models.CharField(max_length=150, unique= True) 
    number = models.IntegerField(unique= True) 

model ProgramSchedule(models.Model): 
    channel = models.ForeignKey("RadioChannel") 
    name = models.CharField(max_length=150, unique= True) 
    start_time = models.DateTimeField() 

अब मेरी ऑपरेटर्स अपने निर्माण में Django उपयोगकर्ताओं हैं:

उदाहरण के लिए, मैं इस तरह के दो मॉडल है। मैं इन उपयोगकर्ताओं के लिए समूह बनाना चाहता हूं ताकि वे प्रोग्राम शेड्यूल को केवल जोड़/हटा/संपादित कर सकें। इसके अलावा मैं इन उपयोगकर्ताओं को व्यवस्थापक पैनल में समूह जोड़ना चाहता हूं।

धन्यवाद।

उत्तर

10

आप किसी ऑब्जेक्ट अनुमति कार्यान्वयन की तलाश में हैं। एक अच्छा तुलना यहाँ है: http://djangopackages.com/grids/g/perms/

बेशर्म प्लग: उसके बारे में यहां बहुत लोकप्रिय प्रति-वस्तु अनुमति एप्लिकेशन की मेरी कांटा: http://github.com/azizmb/django-authority

+0

अच्छा लगता है! क्या आपने दस्तावेज़ भी पाइथन कोड से अनुमतियां जोड़ने के लिए दस्तावेज किया था? यह कुछ ऐसा था जो मुझे डॉक्टर के मूल संस्करण में याद किया गया था। – sebpiq

5

अगर मैं तुम्हें सही कर हो रही है, क्या आप को लागू करने की जरूरत है कहा जाता है पंक्ति स्तर Django में अनुमतियाँ। अगर यह मदद करता है तो इसे देखें। http://code.djangoproject.com/wiki/RowLevelPermissionsDeveloper

+1

यह आपको पंक्ति स्तर पर अनुमतियों को सेट करने की अनुमति देता है यानी मॉडल का एक विशिष्ट उदाहरण। –

4

मैं ऑब्जेक्ट-स्तरीय अनुमतियों के लिए Django Guardian का उपयोग करने की अनुशंसा करता हूं।

संबंधित मुद्दे