django क्वेरीसेट में दो तिथियों के बीच महीनों के लिए संभव है? - django, पायथन-3.x, postgresql

मैं एक पूर्ण क्वेरी सेट प्राप्त करने की कोशिश कर रहा हूं, और अब मुझे केवल दो के बीच महीनों की आवश्यकता है DateTime मेरे मॉडल से फ़ील्ड, यह क्रिया एक क्वेरी सेट में करना संभव है। Im फ़िल्टर के बारे में बात नहीं कर रहा है, उदाहरण के लिए मॉडल में मेरे पास दो हैं datetimeField() और अब मैं क्या करना चाहता हूं, इस तिथियों के बीच महीनों हो जाता है

उत्तर:

जवाब के लिए 3 № 1

अगर आपका डेटाबेस सपोर्ट करता है DurationField आप साथ जा सकते हैं ExtractMonth:

from django.db import models
from django.db.models.functions import ExtractMonth

queryset = MyModel.objects.annotate(
diff=models.ExpressionWrapper(
models.F("date1") - models.F("date2"), output_field=models.DurationField())
).annotate(months=ExtractMonth("diff"))

संबंधित सवाल
सबसे लोकप्रिय