我正在尝试创建一个完整的查询集,现在我只需要从模型中获取两个DateTime
字段之间的月份,就可以在单个查询集中执行此操作。
我不是说过滤器,因为在模型中,例如我有两个datetimeField()
,现在我想做的是,在这两个日期之间有几个月。
最佳答案
如果您的数据库支持DurationField
,则可以使用ExtractMonth:
from django.db import models
from django.db.models.functions import ExtractMonth
queryset = MyModel.objects.annotate(
diff=models.ExpressionWrapper(
models.F('date1') - models.F('date2'), output_field=models.DurationField())
).annotate(months=ExtractMonth('diff'))
关于django - 可能在Django queryset中的两个日期之间获得几个月的时间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49856951/