Django-guardian: أسئلة django متعددة الأشكال

تم إنشاؤها على ٢٠ سبتمبر ٢٠١٦  ·  5تعليقات  ·  مصدر: django-guardian/django-guardian

لقد رأيت العديد من المناقشات حول استخدام django-guardian مع django-polymorphic ، لكنه محير جدًا بالنسبة لي.
تخيل هذه الحالة:

class FeedPost(PolymorphicModel):  
    class Meta: 
        default_permissions = ('add', 'change', 'delete', 'view')  


class ArticleFeedPost(FeedPost):
    class Meta: 
        default_permissions = ('add', 'change', 'delete', 'view')

باستخدام django-guardian 1.4.6 ، عند تعيين الأذونات لـ ArticleFeedPost ، لا تنطبق هذه الأذونات على FeedPost.
في المستند ، هناك هذا حول الكائنات متعددة الأشكال:
http://django-guardian.readthedocs.io/en/stable/configuration.html؟highlight=polymorph#guardian -get-content-type
ولكن لا يوجد مثال يصف كيفية استخدام get_default_content_type.
أسئلتي هي (بالمناسبة ، أنا آسف لطرح هذه الأسئلة هنا ، لكن لدي فرصة أفضل للحصول على إجابة هنا أكثر من أي مكان آخر):

  • كيف يمكننا نشر أذونات للكائن متعدد الأشكال "الأصل"؟
  • كيف يمكننا الحصول على إصدار guardian 1.5 (لست على دراية حقًا بإصدار حزمة django. هل تم إصدار الإصدار 1.5 مسبقًا؟ عند تشغيل "تثبيت النقطة - ترقية django-guardian" ، تقول النقطة إن 1.4.6 هو الإصدار الأخير الإصدار. هل من الجيد الترقية يدويًا عن طريق تنزيل هذا الريبو؟)؟

ال 5 كومينتر

أهلا،

إنها قضية django متعددة الأشكال محددة. django-polymorphic على رمز لدعم django-guardian ، لذا ابحث عن مستندات django-polymorphic حول الدعم.

تحيات،

CC: @ benkonrath

فيما يتعلق بقضايا الإصدار يسرها أن تعلن أنها تقبل الاهتمام. في الإصدارات القادمة سيتم تصحيحها. GUARDIAN_GET_CONTENT_TYPE في django 1.4.6.

BenDevelopment تم مؤخرًا دمج وظيفة استرداد نوع محتوى النموذج الأساسي في django-polymorphic. سيؤدي استخدام نوع محتوى النموذج الأساسي إلى جعل أذونات الوصي تعمل على النموذج الأساسي. تحتاج فقط إلى إضافة هذا الإعداد إذا كنت تستخدم أحدث إصدار تم إصداره من django-guardian وأحدث إصدار من django-polymorphic من git:

 GUARDIAN_GET_CONTENT_TYPE = 'polymorphic.contrib.get_polymorphic_base_content_type'

يمكنك أيضًا نسخ ولصق رمز get_polymorphic_base_content_type في مشروعك الخاص إذا كنت لا تريد استخدام أحدث إصدار git من django-polymorphic.

فيما يلي المستندات التي لم يتم إصدارها:

https://django-polymorphic.readthedocs.io/en/latest/third-party.html#django -guardian-support

BenDevelopment Correction ، يجب أن يكون الإعداد:

GUARDIAN_GET_CONTENT_TYPE = 'polymorphic.contrib.guardian.get_polymorphic_base_content_type'

سأقوم بعمل PR إلى متعدد الأشكال لإصلاح هذا في المستندات.

شكرا يا رفاق! كل شيء يعمل بشكل جيد 👍 💯!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

ad-m picture ad-m  ·  13تعليقات

xuhcc picture xuhcc  ·  10تعليقات

David-OConnor picture David-OConnor  ·  6تعليقات

brianmay picture brianmay  ·  16تعليقات

Allan-Nava picture Allan-Nava  ·  35تعليقات