से अधिक हैं मैं एक मॉडल है जो इस तरह की एक घटना का वर्णन करता है:Django: सही ढंग से डेटा पुनः प्राप्त जहां दिनांक और समय अब
class Event(models.Model):
date = models.DateField()
time = models.TimeField()
मैं भविष्य की सभी घटनाओं को पुनः प्राप्त करना चाहते हैं (यानी now.date()
से अधिक की तारीख)। हालांकि अगर आज की तारीख है, तो मैं आज के कार्यक्रमों को now.time()
से अधिक समय के साथ पुनर्प्राप्त करना चाहता हूं।
यह मैं क्या कर रहा हूँ है:
events = Event.objects.filter(date__gte=now.date()).filter(time__gte=now.time()).order_by('-date')
जहां now = datetime.datetime.now()
लेकिन यह गलत है, क्योंकि यह मुझे एक खाली सेट देता है अगर केवल घटना कल है और अपने समय वर्तमान समय की तुलना में कम है (उदाहरण के लिए यदि घटना कल 09:00 बजे है और आज 1 9:00 है)
क्या यह django में संभव है?
पीएस: मैं सेट के माध्यम से पुनरावृत्ति से बचना चाहता हूं।
क्यों आप की तारीख और समय बचाने के लिए दो अलग-अलग क्षेत्रों का उपयोग कर रहे हैं? क्यों न केवल एक डेटाटाइम क्षेत्र? इस तरह आप बस दो के बजाय एक फ़ील्ड से पूछ सकते हैं। –
@pastylegs मान लीजिए कि आप समय को अंतिम रूप देने से पहले किसी घटना के दिन का निर्णय लेते हैं। आप समय को मध्यरात्रि (या अन्य) पर सेट कर सकते हैं ताकि यह पता चल सके कि समय ज्ञात नहीं था, लेकिन अलग-अलग समय क्षेत्र और स्टोर को स्टोर करना अधिक सुविधाजनक हो सकता है। नकारात्मकता यह है कि यह ओप की तरह अधिक अजीब सवाल करता है। – Alasdair
उस बारे में नहीं सोचा था - अच्छा बिंदु –