आप Django में डेटाबेस फ़ंक्शन जोड़ सकते हैं , इसके लिए आप INTERVAL स्टेटमेंट के लिए एक फ़ंक्शन जोड़ सकते हैं पोस्टग्रेज में
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 सेकंड का है पोस्टग्रेस अंतराल
इसे पारित क्षेत्र से गुणा किया जाता है। इसे टाइमस्टैम्प से जोड़ा और घटाया जा सकता है। आप एक सामान्य Interval
बना सकते हैं फ़ंक्शन जो केवल सेकंड नहीं लेता है, यह थोड़ा अधिक जटिल है
ExpressionWrapper
परिणाम को डेटाटाइम ऑब्जेक्ट में बदलने के लिए आवश्यक है