【发布时间】:2012-08-20 13:42:45
【问题描述】:
我是 Django 的新手,来自 PHP 世界。我试图在计算完之后将一个字段“添加”到查询集中,但不知道该怎么做。在 PHP 中,我只需在数组中添加一列并将我的东西存储在其中。
这是我的代码:
def (id):
mystuff_details = mystuff_details.objects.filter(stuff_id=id)
newthing = '';
for mystuff in mystuff_details:
newthing_lists = //some query to get another queryset
for newthing_list in newthing_lists:
newthing = newthing_list.stuffIwant
//Here I want to make some computation, and ADD something to newthing, let's say:
to_add = (mystuff.score+somethingelse)
//I've heard about the .append but I'm sure I'm screwing it up
newthing.append(to_add)
所以基本上在我的模板中我希望能够调用: {% for newthings_list 中的新事物 %} {{ newthing.to_add }} {% 结束 %}
TL;DR:我基本上想从我的数据库中检索一个东西列表,并在这个对象列表中添加一个包含计算值的字段。
如果不清楚,请告诉我,我很难从 php 切换到 django 哈哈。
谢谢!
编辑:
所以,我正在尝试使用字典,但我一定错过了逻辑:
def (id):
mystuff_details = mystuff_details.objects.filter(stuff_id=id)
newthing = {};
for mystuff in mystuff_details:
newthing_lists = //some query to get another queryset
for newthing_list in newthing_lists:
//Newthing_list can have several times the same I, and the scores need to add up
if newthing[newthing_list.id] > 0: //This doesn't seem to work and throws an error (KeyError)
newthing[newthing_list.id] = newthing[newthing_list.id] + some_calculated_thing
else:
newthing[newthing_list.id] = some_calculated_thing
然后当我得到它的工作时,我不知道如何在模板中访问它:
{% for id in my_list %}
{{newthing[id]}} ? Or something like newthing.id ?
{% end %}
谢谢!
【问题讨论】: