【发布时间】:2012-11-22 10:28:44
【问题描述】:
我开始使用 Django,虽然我已经阅读了这本书并在谷歌上搜索了一下,但我担心我并没有在某些概念上建立联系以解决这个问题。
我需要显示与特定公司相对应的几个值。用户首先选择三个公司进行比较,然后响应显示这些公司的数据。
在我看来,我创建了我在模板中迭代的查询集,以如下所示显示数据:
观点摘录:
C1 = form.cleaned_data['Company1']
C2 = form.cleaned_data['Company2']
C3 = form.cleaned_data['Company3']
company_names = [C1,C2,C3]
company1 = (Company_stats.objects.filter(period__exact=P, company_name__exact=C1))
company2 = (Company_stats.objects.filter(period__exact=P, company_name__exact=C2))
company3 = (Company_stats.objects.filter(period__exact=P, company_name__exact=C3))
company_list = [company1,company2,company3]
模板摘录:
{%for c in company_list%}
{%for z in c %}
{{ z.company_name }}
{{ z.nxt_m_ret_est }}
{{ z.nxt_m_ret_rat }}
{% endfor %}
{% endfor %}
这行得通 - 但是,由于我有更多的移动部件(为了我的问题,我已经简化了视图)它变成了无穷无尽的查询集洗衣清单 - 我 100% 确定这不是 DRY(尽管洗衣参考;)更不用说上下文的长度了。
如果有人能帮助我学会以正确的方式做到这一点,我将不胜感激。非常感谢您!
【问题讨论】:
标签: django filter dry django-queryset