You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django查询Sqlite3的Datatable模型时触发线程异常该如何解决?

错误根因

Datatable模型的__str__方法违反了Django的规则:该方法必须返回字符串类型,但你当前代码返回的是(self.date_d, self.classes)元组。当打印Datatable.objects.all()查询集时,Django会调用每个实例的__str__方法做输出格式化,类型不匹配直接触发异常。

修复方案

修改Datatable的__str__方法,让它返回字符串即可,以下是两种常用实现:

  • 拼接两个字段作为返回值:
class Datatable(models.Model):
    classes = models.CharField(max_length = 254)    
    date_d = models.DateField()

    def __str__(self):
        # 用f-string拼接两个字段为字符串,你也可以用+或者format方法按需调整格式
        return f"{self.date_d} | {self.classes}"
  • 只返回单个字段作为展示值:
def __str__(self):
    return self.classes

后续操作

修改完成后不需要执行数据库迁移(仅修改模型方法没有变更字段结构),直接重启Django服务再运行代码即可恢复正常。

内容的提问来源于stack exchange,提问作者Vishak Raj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 18:15:02