Django-guardian: pertanyaan django-polimorfik

Dibuat pada 20 Sep 2016  ·  5Komentar  ·  Sumber: django-guardian/django-guardian

Saya telah melihat banyak diskusi tentang penggunaan Django-guardian dengan Django-polymorphic, tetapi itu sangat membingungkan bagi saya.
Bayangkan kasus ini:

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


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

Dengan django-guardian 1.4.6, saat Anda menyetel izin ke ArticleFeedPost, izin ini tidak berlaku untuk FeedPost.
Di doc, ada ini tentang objek polimorfik:
http://django-guardian.readthedocs.io/en/stable/configuration.html?highlight=polymorph#guardian -get-content-type
Tetapi tidak ada contoh yang menjelaskan cara menggunakan get_default_content_type.
Pertanyaan saya adalah (omong-omong, saya minta maaf untuk mengajukan pertanyaan ini di sini, tetapi saya memiliki peluang lebih baik untuk mendapat balasan di sini daripada di tempat lain):

  • Bagaimana kita bisa menyebarkan izin ke objek polimorf "induk"?
  • Bagaimana kita bisa mendapatkan versi 1.5 wali (saya tidak begitu akrab dengan versi paket Django. Apakah versi 1.5 sudah dirilis? Ketika saya menjalankan "pip install --upgrade Django-guardian", pip mengatakan bahwa 1.4.6 adalah yang terakhir Apakah ide yang baik untuk memutakhirkan secara manual dengan mengunduh repo ini?)?

Semua 5 komentar

Halo,

Ini adalah masalah khusus django-polimorfik. django-polymorphic berisi kode untuk dukungan django-guardian, jadi carilah dokumen django-polymorphic tentang dukungan.

Salam pembuka,

CC: @benkonrath

Mengenai masalah versi dengan senang hati mengumumkan bahwa itu menerima perhatian. Dalam rilis berikutnya akan diperbaiki. GUARDIAN_GET_CONTENT_TYPE dirilis di Django 1.4.6.

@BenDevelopment Fungsi untuk mengambil tipe konten model dasar baru-baru ini digabungkan menjadi Django-polimorfik. Menggunakan tipe konten model dasar akan membuat izin wali berfungsi pada model dasar. Anda hanya perlu menambahkan pengaturan ini jika Anda menggunakan versi terbaru dari Django-guardian dan versi terbaru dari Django-polymorphic dari git:

 GUARDIAN_GET_CONTENT_TYPE = 'polymorphic.contrib.get_polymorphic_base_content_type'

Anda juga dapat menyalin & menempelkan kode get_polymorphic_base_content_type ke dalam proyek Anda sendiri jika Anda tidak ingin menggunakan versi git terbaru dari Django-polymorphic.

Berikut adalah dokumen yang belum dirilis:

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

@BenDevelopment Koreksi, pengaturannya harus:

GUARDIAN_GET_CONTENT_TYPE = 'polymorphic.contrib.guardian.get_polymorphic_base_content_type'

Saya akan membuat PR ke polimorfik untuk memperbaikinya di dokumen.

Terima kasih kawan! Semua berfungsi dengan baik 👍 !

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

lukaszb picture lukaszb  ·  14Komentar

johnthagen picture johnthagen  ·  9Komentar

Allan-Nava picture Allan-Nava  ·  35Komentar

xuhcc picture xuhcc  ·  10Komentar

David-OConnor picture David-OConnor  ·  6Komentar