0
您好我想服務old book sale service for university student
我怎麼能比較timezone.now和item.deadline
創建ItemPost模型,當用戶發佈他們的書,ItemPost的期限保存在deadline
from django.db import models
from django.conf import settings
from django.utils import timezone
def localtime():
return timezone.localtime(timezone.now())
class ItemPost(models.Model):
title = models.TextField(
)
created_at = models.DateTimeField(
default=localtime
)
is_deleted = models.BooleanField(
default=False,
verbose_name="삭제된 포스트",
)
# 마감날짜를 구하는 함수
def deadline_def(self):
year_of_item_created = self.created_at.year
if self.created_at.month <= 6:
return timezone.datetime(year_of_item_created, 6, 30)
else:
return timezone.datetime(year_of_item_created, 12, 31)
deadline = property(deadline_def)
# 등록된 학기가 끝난 포스트인지 확인
def is_ended_semester_def(self):
now = timezone.now()
if now > self.deadline:
return True
return False
is_ended_semester = property(is_ended_semester_def)
def __str__(self):
return self.title
我想比較項目的截止日期,timezone.now()
,並返回真或假
但我可以,如果我命令不item.is_ended_semester
TypeError: can't compare offset-naive and offset-aware datetimes
我怎樣才能解決這個問題呢?
item.deadline
> datetime.datetime(2017, 6, 30, 0, 0)
timezone.now()
> datetime.datetime(2017, 7, 14, 8, 50, 57, 91304, tzinfo=<UTC>)
的可能的複製[無法比擬的天真和了解datetime.now()<= challenge.datetime \ _end(https://開頭計算器.com/questions/15307623/cant-compare-naive-and-aware-datetime-now-challenge-datetime-end) –
@LaurIvan哦,,,,我會試試這個解決方案謝謝 –