一旦我加载了我的模型并在需要时对其进行过滤,我该如何访问结果?我可以在查询和过滤模型时找到大量示例,但是没有关于如何处理返回的对象的信息?
我的模特看起来像这样......
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
这是对的吗?
答案 0 :(得分:1)
如果您希望使用实例,请执行以下操作:
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_rsponse的信息 有关Django Templates
的信息更新:是的,你可以做到,但这类事情的最佳位置是你的观察功能......所以:
answer = reportSuite.RP_UniqueUsers * 100
return render_to_response('template_link', {'reports':reportSuites, 'ans':answer})
在您的tepmlate中,您可以使用
{{ans}}
显示您的结果......