2012-09-12 20 views
29

मुझे उपयोगकर्ता समूहों के लिए उपयोगकर्ता अधिकार लागू करने की आवश्यकता है (फेसबुक समूहों के समान ही)। उदाहरण के लिए, प्रत्येक समूह के पास अधिकार वाले सदस्य हो सकते हैं: can_post, can_delete, can_ban, आदि। बेशक, एक उपयोगकर्ता कई समूहों का सदस्य हो सकता है और समूह के पास विभिन्न अधिकारों के साथ कई अलग-अलग उपयोगकर्ता हो सकते हैं। इस कार्यक्षमता के लिए मुझे कौन से मॉडल चाहिए?उपयोगकर्ता समूह और अनुमतियां

उत्तर

59

Django समूह प्रणाली में बनाया गया है। जब भी आपके पास ऐसा कोई सवाल है, तो मैं searching the Django docs की अनुशंसा करता हूं, जो व्यापक, सहायक और अच्छी तरह से लिखे गए हैं।

जब तक आप django.contrib.auth ऐप का उपयोग कर रहे हैं, तो आपके पास समूहों तक पहुंच है। फिर आप उन समूहों को अनुमतियां असाइन कर सकते हैं।

from django.contrib.auth.models import User, Group, Permission 
from django.contrib.contenttypes.models import ContentType 

content_type = ContentType.objects.get(app_label='myapp', model='BlogPost') 
permission = Permission.objects.create(codename='can_publish', 
             name='Can Publish Posts', 
             content_type=content_type) 
user = User.objects.get(username='duke_nukem') 
group = Group.objects.get(name='wizard') 
group.permissions.add(permission) 
user.groups.add(group) 
+4

आप किस फ़ाइल में आमतौर पर कोड का टुकड़ा डालते हैं? –

+0

उपरोक्त कोड रिकॉर्ड बनाता है, इसलिए यह उस प्रकार की चीज है जिसे आप खोल के भीतर से चलाएंगे। यदि आप अपना ऐप वितरित करना चाहते हैं या इसे तैनात करना चाहते हैं, तो आपको इसे सेट अप करना होगा ताकि यह प्रारंभिक डेटा सहेजा जा सके। मेरा मानना ​​है कि आप उन्हें वेबसाइट पर व्यवस्थापक के भीतर भी संशोधित कर सकते हैं। –

+0

मेरे साथ मैंने जो कुछ किया, उसने शैल या व्यवस्थापक पर किया और फिर आवेदन के भविष्य के उदाहरणों पर लोड करने के लिए एक स्थिरता उत्पन्न की। उत्तर –

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