Можете да добавите функции за база данни към Django , за това можете да добавите функция за инструкцията INTERVAL в postgres
class IntervalSeconds(Func):
function = 'INTERVAL'
template = "(%(expressions)s * %(function)s '1 seconds')"
След това можете да използвате тази функция във вашите заявки, за да добавите секунди към дата и час
YourModel.objects.annotate(
attr=ExpressionWrapper(
F("article__created_on") + IntervalSeconds(F("article__websitet__avg_time_in_seconds_to_reach_ep")),
output_field=models.DateTimeField()
),
)
Резултатът от IntervalSeconds
функцията е 1 секунда интервал на Postgres
умножено по полето, предадено му. Това може да се добавя и изважда от клеймо за време. Можете да направите общ Interval
функция, която не отнема само секунди, това е малко по-сложно
ExpressionWrapper
се изисква за преобразуване на резултата в обект за дата и час