This topic created in 3898 days ago, the information mentioned may be changed or developed.
第一次使用 Django ,有个问题请教各位大神。
Django 里面有一个 model ,记录的是用户的消费记录。
现在要查询用户的消费记录。
查询出来的记录需要排除重复的用户,包含每个用户的消费次数和消费金额总和。
Django 有直接查询这样的数据的方法吗?还是要写 raw SQL 查询?
谢谢各位!
7 replies 2015-09-10 13:02:01 +08:00  | | 1 phx13ye Sep 10, 2015 via Android 1 自己遍历统计一下 消费记录.objects.all |
 | | 2 zeq Sep 10, 2015 via Android |
 | | 3 cxbig Sep 10, 2015 1 Django 只是空框架啊,你开发的应用是啥? 在消费记录的 model 里写一个统计 function 就好啦, 都 oop 框架了,不追求极限效率不需要用 raw sql |
 | | 4 adexbn Sep 10, 2015 via iPhone model 名.object.raw (SQL 语句) |
 | | 5 huangyan92 Sep 10, 2015 1 all_user = **.objects.all ().query.group_by = ['u'] for one_user in all_user: **.objects.filter (u=one_user.u ).aggregate (total_amount=Sum ('order_amount')).get ('total_amount') or 0 这样好像是可以算出来,但是数据多了应该会很慢 |
 | | 6 winkidney Sep 10, 2015 google : django orm group by djngo orm sum |
 | | 7 iwillhappy1314 Sep 10, 2015 非常感谢各位的热心回答,问题已解决, model 中使用了外键,而 Django 的模板支持直接使用外键查询关联数据,先查询出来用户,然后通过:{{ customer.record_set.all|length }}查询出来消费次数。 |