Dans mon projet, j'obtiens une erreur DoesNotExist chaque fois que j'essaie de définir des autorisations après un POST.
Mes modèles.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'),
)
Mes vues.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()
Je suis un idiot et je n'ai pas réalisé que mes autorisations ne correspondaient pas entre mon modèle et ma vue.
Billet fermé.
J'ai la version 2.2 de djnago avec le djnago guardian 2
j'utilise le raccourci
assign_perm('can_add_widget', groupe, obj)
et j'obtiens django.contrib.auth.models.Permission.DoesNotExist : la requête de correspondance d'autorisation n'existe pas.
Commentaire le plus utile
J'ai la version 2.2 de djnago avec le djnago guardian 2
j'utilise le raccourci
assign_perm('can_add_widget', groupe, obj)
et j'obtiens django.contrib.auth.models.Permission.DoesNotExist : la requête de correspondance d'autorisation n'existe pas.