我用Django做一个网站。我想合并多个过滤结果(查询集)。在
我的模特关系
'Staff'1:m'成员'1:m'PaymentHistory'1:1'退款历史'
我的视图.py公司名称:
wanted_refund = set()
for m in staff.members.all():
payment = m.PaymentHistory.filter(division="Membership")
for p in payment:
try:
refund = RefundHistory.objects.filter(payment=p).filter(refund_date__range=[this_month_start, date])
wanted_refund.add(refund)
except RefundHistory.DoesNotExist:
pass
context = {
'wanted_refund' : wanted_refund,}
return render(request, 'refund.html', context)
但是,使用过滤器是行不通的。只有当我使用“get”时才有效。在
print(refund)
显示结果如下:
我只想使用包含该对象的查询集,我想要的是模板中的以下查询集:
{% for refund in wanted_history %}
{{ refund.refund_date }}
{{ refund.refund_amount}}
{% endfor %}
如何传递for循环中的多个过滤器结果?在
使用
RefundHistory
的单个查询可以获得每个会员每次付款的退款历史记录:可以使用管道运算符联接查询集:
另外,如果它对你有用,你可以用}
wanted_refund.update(list(refund))
代替{相关问题 更多 >
编程相关推荐