Django开发——从模型中访问结果


Django development - Accessing results from a model

一旦我加载了我的模型并过滤了它,如果我需要,我该如何访问结果?我可以找到关于查询和过滤模型的例子,但没有一个关于如何使用返回的对象?

我的模型是这样的…

class Ratecard(models.Model):
    region = models.CharField(max_length=32)
    reportSuite = models.CharField(max_length=32)
    RP_UniqueUsers = models.IntegerField()
    RP_PageImpressions = models.IntegerField()
def __str__(self):
    return self.region

和我的简单索引视图是这样的…

def index(request):
    reportSuites = Ratecard.objects.all()
    return render_to_response('index.html', locals())

我想要能够做的是基于区域过滤,然后访问其他字段中的值…这是一个非常简单的PHP,但我几乎不知道任何python/django,所以任何帮助将是惊人的。

对,所以我需要做的是对返回的内容执行一些计算,所以我可以做…reportSuite = Ratecard.objects.get(region="Liverpool") answer = reportSuite.RP_UniqueUsers * 100

正确吗?

如果您希望使用实例,如:

reportSuite = Ratecard.objects.get(id=??)
reportSuite.region
reportSuite = Ratecard.objects.all()
for reportSuite in reportSuites:
    reportSuite.region

但是如果你想在你的页面中直接使用实例,你必须在模板

中做
return render_to_response('template_name', {'reports':reportSuites})

模板中:

{%for report in reports%}
    {{report.region}}
{%endfor%}

关于render_to_response的信息关于Django模板的信息

更新:是的,你可以这样做,但最好的地方是你的视图函数…所以:

answer = reportSuite.RP_UniqueUsers * 100
return render_to_response('template_link', {'reports':reportSuites, 'ans':answer})

在模板中可以使用

{{ans}}