我正在尝试在表单字段中使用自动完成灯。
当我试图使用该领域时,我得到了
FieldError at /autocomplete/icd_10Autocomplete/
Cannot resolve keyword u'name' into field. Choices are: icd_10_code, icd_10_desc, id
icd_10_code, icd_10_desc, id
是icd_10表格中的字段,但我只想从icd_10_codes
字段中检索数据。
icd_10_code是icd_10.icd_10.code字段中的备用密钥。当我试图在Diagnosis.icd_10_code中写一个值时,我希望表单自动填充单词,查看存储在icd_10.icd_10_code字段中的单词。
有什么想法吗?
forms.py
import autocomplete_light
autocomplete_light.register(icd_10)
autocomplete_light.autodiscover()
class DiagnosisForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(DiagnosisForm, self).__init__(*args, **kwargs)
self.helper=FormHelper(self)
self.fields['icd_10_code']= forms.ModelChoiceField(queryset=icd_10, widget=autocomplete_light.ChoiceWidget("icd_10Autocomplete"))
self.helper.layout = Layout(
# 'patient',
'age_of_diagnosis',
'icd_10_code',
FormActions(
Submit('submit', "Save changes"),
Submit('cancel',"Cancel")
),
)
self.helper.form_tag = False
self.helper.form_show_labels = True
class Meta:
model = Diagnosis
答案 0 :(得分:0)
对于ModelForm
,您应该使用
class Meta:
exclude = (
'name',
'somefield',
'someotherfield',
)
如果您不希望将该模型字段传递给表单。您可以包含不应该转到此元组中表单的任何其他字段。否则,表单期望用户无论如何都应该为theese字段提供值。
你在什么时候收到你的错误以及什么是潜在的Diagnosis
模型还不是很清楚。