我在使用form.save(COMMIT=FALSE)时遇到错误,并且我找不出自己做错了什么.
我的观点是这样的:
views.py个
def make_electable(request, election_id):
election = get_object_or_404(CommissionElection, id=election_id)
if request.method == 'POST':
form = MakeElectable(request.POST)
if form.is_valid():
electable = form.save(commit=False)
electable.election.set(election)
form.save()
forms.py个
class MakeElectable(forms.ModelForm):
class Meta:
model = ElectablePerson
fields = ['commission',]
commission = forms.ModelChoiceField(queryset=Commissie.objects.all(), widget=forms.RadioSelect())
models.py个
class CommissionElection(models.Model):
title = models.CharField(max_length=64)
commission = models.ManyToManyField(Commissie)
electable_time = DateRangeField()
voting_time = DateRangeField()
class ElectablePerson(models.Model):
commission = models.CharField(max_length=128)
election = models.ManyToManyField(CommissionElection)
我得到的错误是:
在使用这种多对多关系之前,"<;elecablePerson:Electric ablePerson Object(None)>;"需要有一个"id"字段的值.
我不明白为什么这个物体是空的.我怀疑这与许多其他领域有关.