Anda dapat menambahkan fungsi database ke Django , untuk ini Anda dapat menambahkan fungsi untuk pernyataan INTERVAL di postgres
class IntervalSeconds(Func):
function = 'INTERVAL'
template = "(%(expressions)s * %(function)s '1 seconds')"
Anda kemudian dapat menggunakan fungsi ini dalam kueri Anda untuk menambahkan detik ke datetime
YourModel.objects.annotate(
attr=ExpressionWrapper(
F("article__created_on") + IntervalSeconds(F("article__websitet__avg_time_in_seconds_to_reach_ep")),
output_field=models.DateTimeField()
),
)
Output dari IntervalSeconds fungsinya adalah 1 detik Interval postgres
dikalikan dengan bidang yang dilewatinya. Ini dapat ditambahkan dan dikurangi dari stempel waktu. Anda dapat membuat Interval generic generik fungsi yang tidak hanya membutuhkan waktu beberapa detik, ini sedikit lebih rumit
ExpressionWrapper diperlukan untuk mengonversi hasilnya menjadi objek datetime