問題は、ビュー内のインスタンスを介して選択および転送された選択肢の値を、checkboxSelectMultiple ウィジェットに入力できないことです。
関連するクラスは次のとおりです。
意見:
if sid and request.method != "POST":
try:
obj = Service.objects.get(pk=int(sid), user=request.user.pk)
form = addNewService(instance=obj)
except:
return HttpResponseRedirect("/")
形:
class addNewService(forms.ModelForm):
pk = forms.HiddenInput()
authorities = forms.ModelMultipleChoiceField(queryset=authorities.objects.all(), widget=forms.CheckboxSelectMultiple, required=True)
error_css_class = 'error'
required_css_class = 'required'
#organisation_logo = forms.ImageField()
class Meta:
model = Service
#exclude = ("user",)
fields = ( 'service_name',
'category',
'service_duration',
'price',
'bursarie',
'vat_included',
'travelExpensesIncluded',
'authorities',
'type_of_delivery',
'description',
'active',
)
モデル:
class Service(models.Model):
user = models.ForeignKey(User)
service_name = models.CharField(max_length=30)
description = models.TextField()
category = models.ForeignKey(Category)
authorities = models.ManyToManyField(authorities)
active = models.BooleanField()
def removeServiceURL(self):
return "/Services/Remove/%s"%self.pk
def __unicode__(self):
return "%s @ %s"%(self.service_name, self.user.username)
それに応じてチェックボックスが表示されますが、インスタンスからフォームを開くと、すべてチェックされていないチェックボックスを除いて、すべてが正しく入力されます。
私は何を間違っていますか?
答えてくれてありがとう。