Django外键字段不展示关联值仅返回对象编号该如何修改?
问题解决方法
你遇到的问题是Django渲染外键下拉选项时,无法正确展示关联模型的可读内容,核心原因是Diagnosis模型未定义字符串表示方法。
第一步:修改models.py中的Diagnosis模型
给Diagnosis类添加__str__方法,指定下拉框展示的字段内容:
class Diagnosis(models.Model): diagnosis=models.CharField(max_length=30, blank=True) # 新增以下方法 def __str__(self): return self.diagnosis
这样Django渲染外键下拉框时,就会自动调用该方法,返回diagnosis字段的内容作为选项展示文本,而非默认的Diagnosis object (ID)格式。
可选修复:修正views.py中的逻辑bug
你当前视图代码里的合法性判断存在笔误,fm_initialdata.is_valid没有加括号,实际不会执行校验逻辑,建议修改为:
if fm_diagnosis.is_valid() and fm_initialdata.is_valid():
修改完成后重启服务即可生效,下拉框就会展示Diagnosis表中存储的诊断内容了。
内容的提问来源于stack exchange,提问作者noob87
相关产品推荐
相关产品推荐

