【发布时间】:2019-11-04 16:06:02
【问题描述】:
我为管理页面写了一个multi-select form。选择的数据保存在数据库中,但由于某种原因它没有显示为已选择(没有selected 属性)。
当我再次尝试保存对象时,我收到一个错误,即未选择此字段中的数据。似乎刷新页面时,选择就飞走了。
可能是什么问题?
我正在使用Django 1.9 和django-jet。
models.py
registration = models.CharField(_('registration'), max_length=255)
forms.py
class ConditionAdminForm(forms.ModelForm):
REGISTRATION_CHOICES= (
('Any', _('Any')),
('Constant', _('Constant')),
('Temporary', _('Temporary')),
)
registration = forms.MultipleChoiceField(choices = REGISTRATION_CHOICES, label=_("registration form"))
def clean_registration(self):
registration = self.cleaned_data['registration']
if not registration:
raise forms.ValidationError("...")
registration = ', '.join(registration)
return registration
class Meta:
model = Condition
fields = '__all__'
admin.py
class ConditionInlineAdmin(admin.StackedInline):
model = Condition
form = ConditionAdminForm
管理 html
<div class="form-row field-registration">
<div>
<label class="required" for="id_condition_set-0-registration">registration:</label>
<select multiple="" id="id_condition_set-0-registration" name="condition_set-0-registration" tabindex="-1" class="select2-hidden-accessible" aria-hidden="true">
<option value="Any">Any</option>
<option value="Constant">Constant</option>
<option value="Temporary">Temporary</option>
</select>
<span class="select2 select2-container select2-container--jet" dir="ltr" style="width: auto;">
<span class="selection">
<span class="select2-selection select2-selection--multiple" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" tabindex="0">
<ul class="select2-selection__rendered">
<li class="select2-search select2-search--inline">
<input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" placeholder="" style="width: 0.75em;">
</li>
</ul>
</span>
</span>
<span class="dropdown-wrapper" aria-hidden="true"></span>
</span>
</div>
</div>
【问题讨论】:
标签: django django-models django-forms django-templates django-admin