2
我正在通過Django教程我的方式,我有一個模型如下。Django教程pub_date__year過濾器工作和pub_date__second過濾器不
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不會。我在這裏的語法中錯過了什麼嗎?
是的,就是這樣。直接從GitHub檢出源碼(雖然它需要安裝pytz) - 我發現https://code.djangoproject.com/attachment/ticket/8424/time_filters.diff,並假設如果有人在5年前修復了它,它現在已經在提交:P謝謝! – mdierker