Puede agregar funciones de base de datos a Django , para esto puede agregar una función para la instrucción INTERVALO en postgres
class IntervalSeconds(Func):
function = 'INTERVAL'
template = "(%(expressions)s * %(function)s '1 seconds')"
Luego puede usar esta función en sus consultas para agregar segundos a una fecha y hora
YourModel.objects.annotate(
attr=ExpressionWrapper(
F("article__created_on") + IntervalSeconds(F("article__websitet__avg_time_in_seconds_to_reach_ep")),
output_field=models.DateTimeField()
),
)
La salida de IntervalSeconds
la función es un intervalo de Postgres
de 1 segundo multiplicado por el campo que se le pasa. Esto se puede sumar y restar de una marca de tiempo. Podrías hacer un Interval
genérico función que no solo toma segundos, esto es un poco más complejo
El ExpressionWrapper
es necesario para convertir el resultado en un objeto de fecha y hora