Django,ModelMultipleChoiceField 中的初始值仅设置为禁用

Django, initial values in ModelMultipleChoiceField set to disabled only

我有如下表格和模型。我正在使用 Django 1.6.4。我能够使用基于参数的默认选中选项创建多项选择字段:

self.fields["options"].initial

但是如何将这个选中的选项设置为禁用编辑,当我设置时,

self.fields["options"].widget.attrs['disabled']

它使所有字段都被禁用。是否可以在表单中处理它,或者我应该使用 CSS 样式来处理它。

class Option(models.Model):
    name = models.CharField(max_length=20, verbose_name="Name", unique=True)

class Device(models.Model):
    options = models.ManyToManyField(Option, null=True, blank=True)
    serial_number = models.CharField(max_length=20, verbose_name="Serial number", unique=True)

class EditDeviceForm(forms.Form):
      serial_number = forms.CharField(label="Serial number:")  
      options = forms.ModelMultipleChoiceField(label="Options:", 
                widget=forms.CheckboxSelectMultiple(),
                queryset=Option.objects.all()) 
      def __init__(self, *args, **kwargs):
                super(EditDeviceForm, self).__init__(*args, **kwargs)
                self.fields["options"].initial = Option.objects.filter(device__in = Device.objects.filter(serial_number=s_number))
                #self.fields["options"].widget.attrs['disabled'] = "disabled"

至于 RadioSelect,您可以在模板中遍历所有复选框并向其应用一些特定数据。