Sur la base des exemples de https://docs.djangoproject.com/en/1.11/topics/class-based-views/generic-editing/#models-and-request-user - mais avec plusieurs à-plusieurs au lieu d'une relation clé étrangère:Vues Sur la base de la classe (CBV), createView et request.user avec plusieurs à-plusieurs
models.py
from django.contrib.auth.models import User
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=200)
owners = models.ManyToManyField(User, related_name='owners_')
views.py
from django.views.generic.edit import CreateView
from myapp.models import Author
class AuthorCreate(CreateView):
model = Author
fields = ['name']
def form_valid(self, form):
form.instance.owners = self.request.user
return super(AuthorCreate, self).form_valid(form)
Affichera
"<Author: test>" needs to have a value for field "id" before this many-to-many relationship can be used.
Comment éviter cela?