Django-guardian: DoesNotExist:パーミッションマッチングクエリが存在しません。

作成日 2014年10月28日  ·  2コメント  ·  ソース: django-guardian/django-guardian

私のプロジェクトでは、POST後に権限を設定しようとすると、DoesNotExistエラーが発生します。

私のmodels.py

class Project(models.Model):
    # Leader of the project
    project_name = models.CharField(max_length=200, unique=True)

    # The url for the stash repository 
    #project_repo = models.

    # Date the project was created
    date_created = models.DateTimeField(auto_now=True)

    # Person in charge of the project
    project_lead = models.ForeignKey(User, related_name='%(class)s_lead_set')

    # Group of members to use for permission checking
    members = models.ForeignKey(Group, null=True, default=None)

    class Meta: 
        permissions = (
            ('edit_project', 'Edit Project'),
        )

私のviews.py

<strong i="10">@login_required</strong>
def create(request): 
    if request.method== "POST": 
        form = NewProjectForm(request.POST)

        if form.is_valid(): 

            # Create the new project
            project = Project(**form.cleaned_data)
            project.project_lead = request.user

            # Create a user group
            members = Group.objects.create(name = project.project_name)
            members.save()

            # Add the members group to the project
            project.members = members
            project.save()

            assign_perm('edit', members, project)
            members.save()

最も参考になるコメント

私はdjnagoガーディアン2を備えたバージョン2.2のdjnagoを持っています

ショートカットを使用します

assign_perm( 'can_add_widget'、group、obj)

django.contrib.auth.models.Permission.DoesNotExistを取得します:アクセス許可の一致クエリが存在しません。

全てのコメント2件

私はばかで、私の許可が私のモデルと私の見解の間で一致していないことに気づいていませんでした。

チケットはクローズしました。

私はdjnagoガーディアン2を備えたバージョン2.2のdjnagoを持っています

ショートカットを使用します

assign_perm( 'can_add_widget'、group、obj)

django.contrib.auth.models.Permission.DoesNotExistを取得します:アクセス許可の一致クエリが存在しません。

このページは役に立ちましたか?
0 / 5 - 0 評価