在这种情况下,首先保存两个对象,然后添加
nesave
到
.exercises
属于
npsave
.你应该
不
拯救世界
npsave
,自从
ManyToManyField
不是由该模型保存,而是由“隐藏”
通过
型号:
if request.method == 'POST':
np_form = NewWorkout(request.POST)
ne_form = NovoExercise(request.POST)
if ne_form.is_valid() and np_form.is_valid():
nesave = ne_form.save()
npsave = np_form.save()
npsave.exercises.add(nesave)
但是如果你
不
想要做一个新的锻炼,但只需添加一个新的锻炼,你可以通过一个包含锻炼主键的视图来完成
Workout
:
from django.shortcuts import get_object_or_404
def my_view(request, pk):
workout = get_object_or_404(Workout, pk=pk)
if request.method == 'POST':
ne_form = NovoExercise(request.POST)
if ne_form.is_valid():
nesave = ne_form.save()
workout.exercises.add(nesave)