从Django中的查询集中抓取字段

时间:2015-05-22 21:02:23

标签: django

我不太确定我是否在标题中正确地提出了这个问题,但我正在努力实现以下目标。

我有一系列由用户输入的列表,我正在尝试将单个列表打印到各个HTML页面。

一切正常,除了代替打印列表名称,它以某种集合形式返回。

[<newlist: hi>] (when it should just return hi)

我假设原因是,我的观点包含以下行

listname = request.user.newlist_set.filter(list_name__iexact=listname)

所以当我打印{{listname}}时,它会像上面列出的那样返回它。我怎样才能解决这个问题,只需在新列表中获取名称?

1 个答案:

答案 0 :(得分:1)

filter操作始终返回list,因此您可以使用循环显示它:

{% for l in listname %}
    {{ l }}
{% endfor %}

或者你可以调用方法first,如果你确定它总是存在且只有一个:

listname = request.user.newlist_set.filter(list_name__iexact=listname).first()

如果没有列表名称,则为None。您可以在模板中查看:

{% if listname %}
     {{ listname }}
{% else %}
     No list with this name.
{% endif %}