【问题标题】:django queryset manipulationdjango 查询集操作
【发布时间】:2012-10-14 17:34:45
【问题描述】:

我在视图中有一个查询集,并希望在将其返回到模板之前对其进行操作/编辑。

但是,如果我想将查询集转换为值(如下)——以便我可以操作它——我不能将它传递给模板。我是否必须将其转换回查询集?我该怎么做?

x = RandomModel.objects.values_list()

没用,但是

x = RandomModel.objects.all()

会。

我首先使用(例如):

x[3][4]="test"

但即使没有操作,我也无法从模板中访问它。

我将它传递给模板:

return render_to_response('index.html', {
    'design_list': x,    
})

在模板中,我尝试使用(例如)访问数据:

{% for item in design_list %}
    {{ item.title }}
{% endfor %}

【问题讨论】:

  • 你是如何将它传递给模板的?
  • 你是如何试图“操纵”它的?
  • 你想在模板中用它做什么?
  • 以上所有 cmets +1。尝试回答这些问题,尤其是模板的使用,或概括部分看起来会导致问题并阻碍您的进一步研究:)
  • 我已经编辑了主要提交内容以包含这些内容。

标签: django django-views django-queryset


【解决方案1】:

正如我之前在评论中所说,您忽略了元组的索引。尝试下一个:

{% for item in design_list %}
    {{ item.1 }} {# item is a tuple, not a dict #}
{% endfor %}

注意我在 {{ item.1 }} 行中使用的索引,它返回元组的第二个元素(第一个通常是 id)。因此,如果x = [(1,'title1'), (2,'title2'), ...],您将在模板上看到title1title2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-19
    • 1970-01-01
    • 2020-10-26
    • 2017-01-12
    • 2012-04-26
    • 2012-09-09
    • 1970-01-01
    • 2013-03-14
    相关资源
    最近更新 更多