У меня есть представление, которое копирует экземпляр модели. Он устанавливает new_event.pk = None, а затем отображает форму для пользователя, чтобы отменить, изменить материал и сохранить.Копирование экземпляра модели с большим количеством полей без сохранения
Однако поля M2M пустые в форме, и я бы хотел, чтобы они были предварительно заполнены теми же значениями, что и исходный экземпляр модели.
views.py
def event_copy(request, id=None):
new_event = get_object_or_404(Event, id=id)
new_event.pk = None # autogen a new primary key
form = EventForm(request.POST or None, instance=new_event)
if form.is_valid():
event = form.save()
messages.success(request, "New event created")
return HttpResponseRedirect(event.get_absolute_url())
context = {
"form": form,
}
return render(request, "events/event_form.html", context)
модель событий, которая копируется имеет два поля M2M, и они оба заготовки в виде:
models.py
class Event(models.Model):
title = models.CharField(max_length=120)
...
blocks = models.ManyToManyField(Block)
facilitators = models.ManyToManyField(User)
Как перенести эти многопользовательские поля?