【发布时间】:2021-06-14 15:58:20
【问题描述】:
from datetime import timedelta
from django.db.models import DateTimeField, ExpressionWrapper, F
MyModel.objects.annotate(
date_plus345=ExpressionWrapper(F('creation_date') + timedelta(days=345),
output_field=DateTimeField()
)
)
像这样有什么方法可以在creation_date字段中添加40个月并对其进行注释吗?
【问题讨论】:
-
为什么不让它成为你的
MyModel班级的成员? -
@WillemVanOnsem 因为我需要根据该字段对结果进行排序?因此,如果我将其作为模型 MyModel 的属性进行排序,我必须将所有数据集从数据库带到服务器,对吗?
-
但是如果每次都是40个月,这就意味着完全等同于过滤
creation_date。 -
@WillemVanOnsem 月份可以根据某些条件进行更改。这将是一个动态计算的值