在我的Django程序中,我有一个UpdateView,它接受一个Event对象(我的一个模型),并用对象的数据填充表单字段。大多数情况下一切正常,包括文本框,datepicker字段和自动完成框。一直没有填充的一件事是我的选择字段:可用助理的下拉列表。出于某种原因,它永远不会更新,总是会出现空白选择。
来自views.py ,来自我的UpdateView扩展类
的代码段<div class="row form-entry center">
<span id="requested_assistant" class="">{{ form.requested_assistant }}</span>
</div>
正如你所看到的,我尝试手动设置所有内容,我甚至只尝试了一个我知道与选择字段中的pk相关联的静态数字,在本例中为2.
来自event_form.html ,模板中与事件模型的助手部分相关的部分:
$('#id_requested_assistant').append('<option value="0"selected="selected" hidden>Requested Assistant</option>');
$("#id_requested_assistant").change(function () {
if($(this).val() == "0") $(this).addClass("empty");
else $(this).removeClass("empty")
});
$("#id_requested_assistant").change();
最后,从同一个文件中,我能想到的唯一其他可能的事情就是干扰:
def get_initial(self):
return {'hospital': self.object.hospital,
'surgeon': self.object.surgeon,
'procedure': self.object.procedure,
'date': self.object.date.strftime('%m/%d/%Y %I:%M %p'),
'patient': self.object.patient,
'requested_assistant_id': 2, # Why won't this work??
'insurance': self.object.insurance,
}
此代码段旨在向占位符添加占位符。这是一个丑陋的解决方法,但似乎有效。
感谢您的帮助!
编辑:我尝试了一个建议并将views.py更改为:
(?<=initTest)(.|\n)*?(?=endTest)
但仍然没有运气
答案 0 :(得分:0)
用砖块打我,这是JavaScript片段让我搞砸了。我将Select over切换到jQuery Select2小部件,因此我可以设置占位符标签;这是我首先需要这个片段的唯一原因。
案件结案!