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

Django页面显示DeferredAttribute对象而非数据库值问题求助

问题解决:Django模板中返回DeferredAttribute而非实际数据库值

问题原因

你直接通过模型类(mProSet1990)访问字段(Card/Set),而非从数据库查询得到的模型实例(card_1)。模型类的字段属性只是定义,并非具体数据,因此返回DeferredAttribute对象。另外你的mProSet1990模型未定义Set字段,直接访问会引发错误。

修正步骤

  • 使用查询到的实例对象访问字段,获取具体数据
  • 移除对不存在的Set字段的引用

修正后的Views.py代码

def ProSet1990_1(request):
    # 从数据库获取卡片详情
    card_1 = mProSet1990.objects.get(Card="David Seaman #1")

    # 调用爬虫工具获取最低价格,使用实例的Card字段值拼接查询字符串
    lowest_price = get_lowest_card_price(f'{card_1.Card}')

    # 传递数据到模板
    context = {
        'card_1': card_1,
        'card_name': card_1.Card,  # 改为从实例获取实际值
        'lowest_price': lowest_price,
    }

    # 渲染模板
    return render(request, 'Application/ProSet1990_1.html', context)

模板可选优化

你也可以直接在模板中使用实例的字段,无需额外定义card_name变量:

<body>
    <h1>{{ card_1.Card }}</h1>
    {% if lowest_price %}
        <p>Lowest Price: {{ lowest_price }}</p>
    {% else %}
        <p>Price not available</p>
    {% endif %}
</body>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 19:22:35