Django-guardian: DoNotExist: рдЕрдиреБрдорддрд┐ рдорд┐рд▓рд╛рди рдХреНрд╡реЗрд░реА рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдЕрдХреНрддреВре░ 2014  ┬╖  2рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: django-guardian/django-guardian

рдЬрдм рднреА рдореИрдВ рдХрд┐рд╕реА рдкреЛрд╕реНрдЯ рдХреЗ рдмрд╛рдж рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореЗрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдореБрдЭреЗ DoNotExist рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред

рдореЗрд░реЗ рдореЙрдбрд▓.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'),
        )

рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░.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 рд╣реИ djnago рдЕрднрд┐рднрд╛рд╡рдХ 2 . рдХреЗ рд╕рд╛рде

рдореИрдВ рд╢реЙрд░реНрдЯрдХрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ

рдЕрд╕рд╛рдЗрди_рдкрд░реНрдо ('can_add_widget', рд╕рдореВрд╣, obj)

рдФрд░ рдореБрдЭреЗ django.contrib.auth.models.Permission.DoesNotExist рдорд┐рд▓рддрд╛ рд╣реИ: рдЕрдиреБрдорддрд┐ рдорд┐рд▓рд╛рди рдХреНрд╡реЗрд░реА рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рд╕рднреА 2 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рдПрдХ рдореВрд░реНрдЦ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдореЗрд░реА рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдореЗрд░реЗ рдореЙрдбрд▓ рдФрд░ рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдмреАрдЪ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреАрдВред

рдЯрд┐рдХрдЯ рдмрдВрджред

рдореЗрд░реЗ рдкрд╛рд╕ djnago рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг 2.2 рд╣реИ djnago рдЕрднрд┐рднрд╛рд╡рдХ 2 . рдХреЗ рд╕рд╛рде

рдореИрдВ рд╢реЙрд░реНрдЯрдХрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ

рдЕрд╕рд╛рдЗрди_рдкрд░реНрдо ('can_add_widget', рд╕рдореВрд╣, obj)

рдФрд░ рдореБрдЭреЗ django.contrib.auth.models.Permission.DoesNotExist рдорд┐рд▓рддрд╛ рд╣реИ: рдЕрдиреБрдорддрд┐ рдорд┐рд▓рд╛рди рдХреНрд╡реЗрд░реА рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕