আমি জাঙ্গো ১.২ থেকে ১.৪ এ একটি অ্যাপ্লিকেশন স্থানান্তর করার প্রক্রিয়াধীন।
আমার একটি প্রতিদিনের টাস্ক অবজেক্ট রয়েছে যাতে দিনের একটি সময় থাকে যে কাজটি শেষ করা উচিত:
class DailyTask(models.Model):
time = models.TimeField()
last_completed = models.DateTimeField()
name = models.CharField(max_length=100)
description = models.CharField(max_length=1000)
weekends = models.BooleanField()
def __unicode__(self):
return '%s' % (self.name)
class Meta:
db_table = u'dailytask'
ordering = ['name']
আজও কোনও কাজ শেষ হওয়া প্রয়োজন কিনা তা পরীক্ষা করার জন্য আমার কাছে নিম্নলিখিত কোড রয়েছে:
def getDueDailyTasks():
dueDailyTasks=[]
now = datetime.datetime.now()
try:
dailyTasks = DailyTask.objects.all()
except dailyTask.DoesNotExist:
return None
for dailyTask in dailyTasks:
timeDue = datetime.datetime(now.year,now.month,now.day,dailyTask.time.hour,dailyTask.time.minute,dailyTask.time.second)
if timeDue<now and timeDue>dailyTask.last_completed:
if dailyTask.weekends==False and now.weekday()>4:
pass
else:
dueDailyTasks.append({'id':dailyTask.id,
'due':timeDue,
'name': dailyTask.name,
'description':dailyTask.description})
return dueDailyTasks
এটি 1.2 এর নিচে জরিমানা কাজ করেছে, তবে 1.4 এর নীচে আমি ত্রুটি পেয়েছি:
can't compare offset-naive and offset-aware datetimes
লাইনের কারণে
if timeDue<now and timeDue>dailyTask.last_completed
এবং উভয় তুলনা ক্লজ এই ত্রুটি নিক্ষেপ।
আমি আর্গুমেন্ট হিসাবে পাইটজ.ইউটিসি যুক্ত করে টাইমডাউন টাইমজোনকে সচেতন করার চেষ্টা করেছি, তবে এটি এখনও একই ত্রুটি উত্থাপন করে।
আমি টাইমজোনগুলিতে কয়েকটি ডক পড়েছি তবে আমার কেবল টাইমডোন টাইমজোনটি সচেতন করা দরকার কিনা, বা আমার ডিবি এবং বিদ্যমান ডেটাগুলিতে মৌলিক পরিবর্তন করা দরকার কিনা তা নিয়ে আমি বিভ্রান্ত হয়ে পড়েছি।