0
"2016-08-09T02:16:15Z"という形式のAPIからDateTimeFieldを取得しています。私はそれを解析し、私は日付の時間フィールドであると思ったものにするために、以下のコードを使用していますが、時間を比較する私のクラスのメソッドの1つからエラーを取得しています。以下の解析コードを参照してください:私は私のゲームのモデルに追加するときISO 8601フィールドからPython DateTimeフィールド
time= dateutil.parser.parse(x['MatchTime']) #MatchTime is the ISO 8601 field
を時間が私is_live方法は私にエラー
ゲームを与えている、以下の貼り付け、正しく引っ張っているように見えるが、モデル:私は時間
line 34, in is_live
if now < self.time:
TypeError: unorderable types: datetime.datetime() < NoneType()
でゲームに追加するためのスクリプトを実行したときにこれは私が取得していますエラーです
class Game(models.Model):
time = models.DateTimeField(null=True, blank=True)
livePick = models.BooleanField(default=True)
def is_live(self):
now = timezone.now()
now.astimezone(timezone.utc).replace(tzinfo=None)
if now < self.time:
return True
else:
return False
更新: 時間は、任意の助けを大幅に高く評価され、次の
g = Game.objects.create(team1=team1, team2=team2)
g.time = time
g.save()
でゲームのモデルに追加されます。ありがとうございました!
,:例えば、あなたのロジックでヌル可能性を考慮する必要があります。時間= dateutil.parser.parse(xと['MatchTime']) - MatchTimeは、ISO 8601の日付データを持つAPIのフィールドです。私は、呼び出しがISO 8601の日付をフォーマットされた日付に変換していることを知っていますが、PythonがdateTimeフィールドとして明示的にそれを読み取っていません –
モデルインスタンス変数にその関数の結果がどのように書き込まれますか?間違いなく 'self.time'に' time'が保存されていますか? – solarissmoke
上記のコードを追加して、APIプルをゲームモデルに保存する方法を示しました。あなたが何か他のものを見たいと思ったら教えてください –