我有一个表,其中包含一系列与时间段相关的条目(具体来说,是为客户工作的时间):
task_time:
id | start_time | end_time | client (fk)
1 08/12/2011 14:48 08/12/2011 14:50 2
Run Code Online (Sandbox Code Playgroud)
我试图从我的Django应用程序聚合给定客户端的所有工作时间:
time_worked_aggregate = models.TaskTime.objects.\
filter(client = some_client_id).\
extra(select = {'elapsed': 'SUM(task_time.end_time - task_time.start_time)'}).\
values('elapsed')
if len(time_worked_aggregate) > 0:
time_worked = time_worked_aggregate[0]['elapsed'].total_seconds()
else:
time_worked = 0
Run Code Online (Sandbox Code Playgroud)
这似乎不优雅,但确实有效.或者至少我认为:事实证明它在PostgreSQL数据库上工作正常,但当我转移到SQLite时,一切都会消失.
一点挖掘表明,其原因是DateTime
s不是SQLite中的一流数据.以下原始SQLite查询将完成我的工作:
SELECT SUM(strftime('%s', end_time) - strftime('%s', start_time)) FROM task_time WHERE ...;
Run Code Online (Sandbox Code Playgroud)
我的问题如下:
我应该提一下,数据集是数千个条目; 以下不太实际:
sum([task_time.end_date - task_time.start_date for task_time in models.TaskTime.objects.filter(...)])
Run Code Online (Sandbox Code Playgroud) 在 Visual Studio Code 中使用 Python 编程时,有没有办法显示重写方法的指示符?
我正在寻找与 PyCharm 在重写超类方法时显示的左侧空白处的图标类似的内容?
我只是使用 Google Colab 进行研究和学习机器学习,但有一件事我仍然不知道该怎么做。如何在 Google Colab 中格式化代码?在这种情况下,我的意思是像autopep8
或black
在 Jupyter 笔记本上,我总是弄乱我的代码,例如:
x=1.223333433
print("%3f"%x)
Run Code Online (Sandbox Code Playgroud)
将会
x = 1.223333433
print("%3f" % x)
Run Code Online (Sandbox Code Playgroud)
所以代码格式化程序会很棒,非常感谢。