'入力された'モデルはdatetimeフィールドです。私は正午(start_time)と午後5時(end_time)の間に作られたすべてのエントリを見つけるためにデータを照会したい。日付時刻フィールドで時間をフィルタリングするにはどうすればよいですか?
selected = Entry.objects.filter(entered__gte=start_time, entered__lte=end_time)
(私は期待通りに)私はのエラーを取得する:
"ValidationError: Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format."
だから私は、私は私が試した__year使用することができます知っています。
selected = Entry.objects.filter(entered__time__gte=start_time, entered__time__lte=end_time)
私はエラーを取得:私はそこに内蔵されています。このためのサポートとは思わないが、あなたはextra where-clauseパラメータ(警告渡すことができます
"FieldError: Join on field 'start' not permitted. Did you misspell 'time' for the lookup type?"
これは私が好む選択です。私はまだもっと良い選択肢を望んでいます。 –
django 1.8で時/分をフィルタリングすることが可能です: https://docs.djangoproject.com/en/1.8/ref/models/querysets/#hour Entry.objects.filter(入力_hour__gte = 9、入力_hour__lte = 17) – imposeren
残念ながら、Django 1.8では不可能です。あなたは正確な時間の一致をフィルタリングすることができます: 'Entry.objects.filter(entered__hour = 9) ' –