2013-04-26 34 views
10

Modelime izin ekledim ve bu izni kullanan bir grupta yönetici oluşturmak istiyorum.Django model izinleri yönetici tarafından alınmadı

Sorun, yeni izinlerin izin listesinde listelenmemiş olmasıdır.

Bu listeye eklemek için yapmam gereken bir şey var mı?

class Meta: 
     permissions = (
      ("add_remove_job", "Can add/remove jobs"), 
     ) 

ÇÖZÜM: Bu Güney'in bilinen bir sınırlamadır, çözüm --all syncdb yapmaktır

Ne yapmanız gereken bir syncdb eklemek/Bir model için değiştirme izni her zaman olduğu
+0

Çözümünüzü bulduğunuz için, size çözümü veren cevabı seçmelisiniz. – Jeremy

cevap

2

.

python manage.py syncdb 
+0

işe yaramadı, syncdb denedim Bu, bir şey ifade ederse, South for DB geçişini kullanıyorum. – user2323711

12

deneyin:

manage.py syncdb --all 

Aksi takdirde, Belirli bir uygulama için izinleri oluşturmak için django zorlayabilirsiniz:

from django.contrib.auth.management import create_permissions 
from django.apps import apps 

create_permissions(apps.get_app_config('my_app_name')) 

Bu uygulamadaki tüm modellerini yapacağız. Yalnızca altkümeyi istiyorsanız 'get_models()' yerine model sınıf nesnelerinin bir listesini kullanabilirsiniz.

+0

Unfortunatelly artık Django 1.7 ile çalışmıyor. 'Django.apps import apps'den '' zorunda ve' create_permissions '(apps.get_app_config (' my_app_name ')) 'i çağırmalısınız, ancak (eğer geçişleri kullanırsanız düşünüyorum), eğer router.allow_migrate değilse de) hiçbir şey yapmadan. – yofee

+0

Güney'i kullanan uygulamalar için '--all 'bayrağı önemli! Teşekkürler. – Caumons

+0

1.8 çalışır, teşekkürler! – Chris

-3
python manage.py migrate --fake 
+1

Bu soruyla nasıl bağlantılı? –