डिफ़ॉल्ट रूप से django में जब syncdb django.contrib.auth के साथ चलाया जाता है, तो यह प्रत्येक मॉडल पर डिफ़ॉल्ट अनुमतियां बनाता है ... foo.can_change, foo.can_delete और foo.can_add। मॉडलों के लिए कस्टम अनुमतियां जोड़ने के लिए क्लास मेटा जोड़ सकते हैं: मॉडल के तहत और अनुमतियों को परिभाषित करें, जैसा कि यहां बताया गया है https://docs.djangoproject.com/en/dev/topics/auth/#custom-permissionsdjango में उपयोगकर्ता मॉडल को कस्टम अनुमति कैसे जोड़ें?
मेरा सवाल यह है कि यदि मैं उपयोगकर्ता मॉडल को कस्टम अनुमति जोड़ना चाहता हूं तो मुझे क्या करना चाहिए? foo.can_view की तरह। मैं निम्नलिखित स्निपेट के साथ ऐसा कर सकता है,
ct = ContentType.objects.get(app_label='auth', model='user')
perm = Permission.objects.create(codename='can_view', name='Can View Users',
content_type=ct)
perm.save()
लेकिन मैं कुछ है कि अच्छी तरह से syncdb साथ, उदाहरण के लिए वर्ग मेटा मेरी कस्टम मॉडल के नीचे खेलता है चाहता हूँ। क्या मुझे इन क्लास मेटा में होना चाहिए: UserProfile के तहत, क्योंकि यह उपयोगकर्ता मॉडल का विस्तार करने का तरीका है। लेकिन क्या यह करने का सही तरीका है? क्या यह उपयोगकर्ता प्रोफाइल मॉडल से जुड़ा नहीं होगा?
आप ऐसा कर सकते हैं मॉडल प्रवास में: http://stackoverflow.com/a/32706020/538284 –