co2*_*f2e 21 python sqlite django orm django-models
我编写了django sqlite orm语法来检索特定的记录集:
from django.db.models.aggregates import Count
JobStatus.objects.filter(
status='PRF'
).values_list(
'job', flat=True
).order_by(
'job'
).aggregate(
Count(status)__gt=3
).distinct()
Run Code Online (Sandbox Code Playgroud)
但是它给了我一个错误,这个语法的sql等效对我来说很好.
这是我的sql等价物.
SELECT *
FROM tracker_jobstatus
WHERE status = 'PRF'
GROUP BY job_id
HAVING COUNT(status) > 3;
Run Code Online (Sandbox Code Playgroud)
我得到的结果如下
+----+--------+--------+---------+---------------------+---------+
| id | job_id | status | comment | date_and_time | user_id |
+----+--------+--------+---------+---------------------+---------+
| 13 | 3 | PRF | | 2012-11-12 13:16:00 | 1 |
| 31 | 4 | PRF | | 2012-11-12 13:48:00 | 1 |
+----+--------+--------+---------+---------------------+---------+
Run Code Online (Sandbox Code Playgroud)
我无法找到与此相关的django sqlite.
如果有人能提供帮助,我将非常感激.
co2*_*f2e 37
最后我设法弄明白了.ORM语法是这样的.
from django.db.models.aggregates import Count
JobStatus.objects.filter(
status='PRF'
).values_list(
'job', flat=True
).order_by(
'job'
).annotate(
count_status=Count('status')
).filter(
count_status__gt=1
).distinct()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7429 次 |
| 最近记录: |