我正在学习 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、__minute 和 __second 不行。我在这里的语法中遗漏了什么吗?