두 개의 그룹을 추가하고 Django 프로젝트에 권한을 부여하려고합니다. 하지만 오류가 계속 발생합니다 :django 사용 권한을 만들 때 오류 : ContentType 일치하는 쿼리가 없습니다.
일치하는 컨텐츠 유형 일치하는 쿼리가 존재하지 않습니다.
나는 실행하고 있습니다 : 장고 1.5.4 파이썬 2.7.3을 사우스 0.8.2 PostreSQL 9.3
여기 내 코드입니다 :
import django
from django.contrib.auth.models import Group, Permission
from django.contrib.contenttypes.models import ContentType
from .models import Flavor
def add_groups():
# Create User Groups
special_users = Group(name='Special Users')
special_users.save()
really_special_users = Group(name='Super Special Users')
really_special_users.save()
def add_permissions():
# Define a View permission for the 1st group, and a View/Modify permission for the 2nd group
somemodel_ct = ContentType.objects.get(app_label='flavors', model='flavors_flavor')
can_view = Permission(name='Can View', codename='can_view_something', content_type=somemodel_ct)
can_view.save()
can_modify = Permission(name='Can Modify', codename='can_modify_something', content_type=somemodel_ct)
can_modify.save()
def give_perm_to_groups():
# Associate these two permissions now with a Group
special_users.permissions.add(can_view)
really_special_users.permissions = [can_view, can_modify]
내가 add_groups를 실행할 수 있습니다() 잘. 현재 작동중인 것은 add_permissions()입니다. 나는 이것이 Postgres의 조명기와 관련이 있다고 생각하지만 추가하는 방법이나 정확한 문제인지 확실하지 않다.
감사
다음전체 오류 추적 있습니다 :
>>> add_permissions()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/Users/Yuki_Aaron/Documents/djcode/demoproject/flavors/groups.py", line 16, in add_permissions
somemodel_ct = ContentType.objects.get(app_label='flavors', model='flavors_flavor')
File "/Users/Yuki_Aaron/Documents/virtualenvs/django1.5/lib/python2.7/site-packages/django/db/models/manager.py", line 143, in get
return self.get_query_set().get(*args, **kwargs)
File "/Users/Yuki_Aaron/Documents/virtualenvs/django1.5/lib/python2.7/site-packages/django/db/models/query.py", line 404, in get
self.model._meta.object_name)
DoesNotExist: ContentType matching query does not exist.
당신은'flavors_flavor' 또는'flavor'라고 불리는 모델입니까? – karthikr