【问题标题】:Select One Column Using Peewee使用 Peewee 选择一列
【发布时间】:2018-12-02 14:39:48
【问题描述】:

我已经使用 peewee 选择了一列,然后将其发送到模板。但没有任何回报。

我有一个名为 Entry 的表,其中有列 tag_name。

@app.route('/archive')
def tag():
    query_tag = (Entry.select(Entry.tag_name)).distinct())
    return object_list('t.html', query_tag, check_bounds=False)

对应的模板:

{%block content %}
{% for tag in object_list %}
    <p>{{ tag }}</p>
{% endfor %}
{% endblock %}

最后它显示“无” result_photo

但是如果我改成下面的代码,它可以工作,:

@app.route('/archive')
def tag():
    query_tag = (Entry.select().distinct())
    return object_list('t.html', query_tag, check_bounds=False)

还有模板:

{%block content %}
{% for tag in object_list %}
    <p>{{ tag.tag_name }}</p>
{% endfor %}
{% endblock %}

【问题讨论】:

    标签: python mysql flask orm peewee


    【解决方案1】:

    您可以结合您的两个示例,以下应该可以工作:

    query_tag = Entry.select(Entry.tag_name).distinct()
    

    还有模板:

    {% for entry in object_list %}
        <p>{{ entry.tag_name }}</p>
    {% endfor %}
    

    因为,即使您只选择了一列,Peewee 仍将返回 Entry 对象。不过,Entry 对象只会填充“tag_name”字段。

    【讨论】:

    • 非常感谢。明白了。
    • 那您可以将答案标记为正确吗?或者赞成它或其他什么?
    • 感谢 coleifer。我尝试点赞,但它显示:声望低于 15 人的投票会被记录,但不会更改公开显示的帖子得分。
    猜你喜欢
    • 2014-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    • 2017-07-24
    相关资源
    最近更新 更多