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