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

Django中Topic下拉框显示Topic object(1)而非对象名称

解决Django中Topic下拉框显示"Topic object(n)"的问题

问题根源在于你定义的Topic模型没有实现__str__()方法——Django对于没有自定义字符串表示的模型对象,会默认输出模型名 object(主键ID)这种格式。而你的Entry模型已经正确定义了这个方法,所以它的显示是正常的。

修改方法

在Topic类中添加__str__()方法,返回你想在下拉框中显示的text字段内容:

class Topic(models.Model):
    """A topic the user is learning about."""
    text = models.CharField(max_length=200)
    date_added = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        """返回Topic的字符串表示"""
        return self.text

生效方式

修改完成后不需要执行数据库迁移操作(这只是改变对象的显示逻辑,没有修改数据库结构),直接重启Django开发服务器,刷新页面后下拉框就会显示Topic的text内容了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 20:40:57