我有一個簡單的方法。條目是員工輸入時間的時間表應用程序中的條目。Python/Django日期查詢:DateField的不支持的查找'日期'或不允許加入的字段
class Entry(m.Model):
""" Represents an entry in a time_sheet. An entry is either for work, sick leave or holiday. """
# type choices
WORK = 'w'
SICK = 's'
VACATION = 'v'
type_choices = (
(WORK, 'work'),
(SICK, 'sick leave'),
(VACATION, 'vacation'),
)
# meta
cr_date = m.DateTimeField(auto_now_add=True, editable=False, verbose_name='Date of Creation') # date of creation
owner = m.ForeignKey(User, editable=False, on_delete=m.PROTECT)
# content
type = m.CharField(max_length=1, choices=type_choices, default='w')
day = m.DateField(default=now)
start = m.TimeField(blank=True) # starting time
end = m.TimeField(blank=True) # ending time
recess = m.IntegerField() # recess time in minutes
project = m.ForeignKey(Project, on_delete=m.PROTECT)
@classmethod
def get_entries_for_day(cls, user, day):
""" Retrieves any entries for the supplied day. """
return Entry.objects.filter(day__date=day, owner=user).order_by('start')
然而,當我嘗試運行我的項目就是這樣,它終止與下面的錯誤代碼:
「不支持查找‘日期’爲的DateField或加入上允許的領域不 。 「
我不太明白這條消息。指定的字段是沒有其他限制的日期字段。任何提示將不勝感激。
你想用'day__date = day'完成什麼?雙下劃線語法旨在表示父子關係,即「日」字段具有名爲「日期」的子字段。 –
看到我下面的評論,我在django文檔中發現它作爲檢查查詢日期的一種方法。 – user2660930