मैंने मॉडल में डेटटाइमफिल्ड के साथ एक वर्ग बनाया है, जो मुझे विश्वास है कि मेरे प्रोजेक्ट में त्रुटि हो रही है

class Job(models.Model):
    category_id = models.ForeignKey(Category, on_delete=models.CASCADE)
    number_of_bids = models.IntegerField()
    time_starting = models.DateTimeField()
    time_ending = models.DateTimeField()

लौटाई गई त्रुटि नीचे दी गई है

C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django-2.1.1-py3.7.egg\django\db\models\fields\__init__.py:1421: RuntimeWarning: DateTimeField Job.time_ending received a naive datetime (2018-10-25 10:03:58.889072) while time zone support is active.
  RuntimeWarning)

फिक्सिंग पर कोई सुझाव

2
project_kingz 25 अक्टूबर 2018, 12:33

2 जवाब

सबसे बढ़िया उत्तर

आप अपने मॉडल में पाइथन का डेटाटाइम मान पास कर रहे हैं।

यानी यह एक

from datetime import datetime
datetime.now() # Incompatible with Python's DateTimeField directly

आपको जो करने की ज़रूरत है वह from django.utils import timezone से समय-क्षेत्र जागरूक वस्तु को इस तरह से पास करना है

from django.utils import timezone
timezone.now() # Will fit right into DateTimeField in your model

दस्तावेज़ों से उद्धरण : भोले और जागरूक डेटाटाइम ऑब्जेक्ट
पायथन की datetime.datetime वस्तुओं में एक tzinfo विशेषता है जिसका उपयोग समय क्षेत्र की जानकारी को संग्रहीत करने के लिए किया जा सकता है, जिसे datetime.tzinfo के उपवर्ग के उदाहरण के रूप में दर्शाया गया है। जब यह विशेषता सेट की जाती है और ऑफ़सेट का वर्णन करती है, तो डेटाटाइम ऑब्जेक्ट जागरूक होता है। अन्यथा, यह भोला है।

आप यह निर्धारित करने के लिए is_aware() और is_naive() का उपयोग कर सकते हैं कि डेटाटाइम जागरूक हैं या अनुभवहीन हैं।

अधिक जानकारी यहां

0
Vineeth Sai 25 अक्टूबर 2018, 09:42

आप जिस डेटाटाइम को पास कर रहे हैं वह टाइमज़ोन अवेयर नहीं है। आपको डेटाटाइम फ़ील्ड में टाइमज़ोन जोड़ना होगा।

यदि टाइमज़ोन को बचाने के लिए पायथन/डीजेंगो का उपयोग कर रहे हैं:

from django.utils import timezone
timezone.now()

यदि आप डेटा को क्रमबद्ध कर रहे हैं तो '2018-10-25 10:03:58.889072' के बजाय '2018-09-09T00:00:00Z' का उपयोग करें

0
Manish Gupta 25 अक्टूबर 2018, 09:39