Django报错:'Client' object has no attribute 'text' 求助
问题原因
错误根源在Client模型的__str__方法:
def __str__(self): return self.text
Client模型本身并未定义text字段,该字段属于Sender模型。当渲染SenderForm时,表单中的sender_man字段是关联Client的外键,Django会调用每个Client实例的__str__方法生成下拉选项的显示文本,因此触发了'Client' object has no attribute 'text'的错误。
解决方案
修改Client模型的__str__方法,使用该模型已存在的字段即可,比如组合姓名或直接使用手机号:
def __str__(self): # 示例1:显示姓名组合 return f"{self.name} {self.last_name}" # 示例2:显示手机号 # return self.phone_number
修改后重启Django服务器,再访问Sender创建页面即可正常加载表单。
内容的提问来源于stack exchange,提问作者Сергей Иванов
相关产品推荐
相关产品推荐

