Django查询-如何在5分钟内获得并发记录数?

Django查询-如何在5分钟内获得并发记录数?,django,postgresql,Django,Postgresql,我对Django和Sql非常陌生。对不起,这个基本问题 我用Django+PostgreSql在下面的模型中记录活动的开始/停止时间 class Test(models.Model): class Meta: unique_together = ('test_session_id',) test_session_id = models.CharField(max_length=100, default=None, null=True) started_a

我对Django和Sql非常陌生。对不起,这个基本问题

我用Django+PostgreSql在下面的模型中记录活动的开始/停止时间

class Test(models.Model):
    class Meta:
        unique_together = ('test_session_id',)

    test_session_id = models.CharField(max_length=100, default=None, null=True)
    started_at = models.DateTimeField(auto_now_add=False, blank=True, null=True)
    finished_at = models.DateTimeField(auto_now_add=False, blank=True, null=True)
我想计算出每5分钟运行多少个测试。 如果存在以下四个会话,您能指导我如何编写Django queryset以获得以下结果吗

Sample Data
====
Test#1 11:33 ~ 12:17
Test#2 11:44 ~ 12:51
Test#3 12:08 ~ 12:19
Test#4 12:21 ~ 12:55

您可以在views.py上使用此函数。我测试了一下,它似乎有效

功能:

import datetime
import pytz

def testFunction0(dMain):
    testObjects = Test.objects.all()
    countedTest = 0

    for test in testObjects:
        if test.started_at < dMain and test.finished_at > dMain:
            countedTest = countedTest + 1

    return countedTest

你想让python脚本每5分钟测试一次吗?谢谢marlonjd。我认为存在一些数据库查询以便于编码。因为我认为在整个记录中循环似乎是一项昂贵的任务。如果您对答案感到满意,请检查答案。玩得高兴
import datetime
import pytz

def testFunction0(dMain):
    testObjects = Test.objects.all()
    countedTest = 0

    for test in testObjects:
        if test.started_at < dMain and test.finished_at > dMain:
            countedTest = countedTest + 1

    return countedTest
print(testFunction0(dMain=pytz.utc.localize(datetime.datetime(2019, 12, 5, 12, 15))))