私は Django チュートリアルを進めており、次のようなモデルがあります。
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
与えられた指示に従って投票を作成しました。
p = Poll(question="What's new?", pub_date=timezone.now())
p.save()
彼らが提供するフィルターを実行すると、有効な結果が得られます。
>>> Poll.objects.filter(pub_date__year=2013)
[<Poll: What's new?>]
しかし、(たとえば) 秒でフィルタリングしようとすると、失敗します。
>>> Poll.objects.filter(pub_date__second=57)
FieldError: Join on field 'pub_date' not permitted. Did you misspell 'second' for the lookup type?
さて、おそらく pub_date フィールドには有効な秒がありません。
>>> Poll.objects.get(id=1).pub_date.second
57
うーん。したがって、有効な秒がありますが、どういうわけかそれでフィルタリングできません。試行を続けると、__day と __month は問題なく動作しますが、__hour、__minutes、および __second は動作しません。ここで構文に何か欠けていますか?