cha*_*sie 2 django django-models django-queryset
我正在尝试在django中查询数据库表,其中包括以下各列:
id | start_time | end_time
Run Code Online (Sandbox Code Playgroud)
我可以直接在查询中获得差异,而不是分别为两者获取单独的值吗?达到此效果的方法:
SELECT id, Diff(start_time, end_time) FROM myTable
Run Code Online (Sandbox Code Playgroud)
这可以完全通过Django 1.10及更高版本中的ORM完成。使用这样的模型:
class Timer(models.Model)
start_time = models.DateTimeField()
end_time = models.DateTimeField()
Run Code Online (Sandbox Code Playgroud)
您可以使用以下持续时间注释对象:
from django.db.models import DurationField, ExpressionWrapper, F
Timer.objects.annotate(duration=ExpressionWrapper(F('end_time') - F('start_time'),
output_field=DurationField()))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1902 次 |
| 最近记录: |