Skip to main content
 首页 » 编程设计

python之Django 管理器返回今天的所有条目之DateTimeField

2024年11月01日31yyy_WW

我如何创建一个管理器来返回具有今天日期的模型中的所有条目,模型字段是日期时间字段,而不是日期字段?

timestamp = models.DateTimeField(auto_now=True) 
 
class ValidEntryManager(models.Manager): 
    def get_query_set(self): 
        return super(ValidEntryManager, self).get_query_set().filter(timestamp__gte=datetime.today(), timestamp__lte=datetime.today()) 
 
allowed_entries = ValidEntryManager() 

这是我试过的,但它返回 0 个对象,应该有。

print Entries.allowed_entries.all() >>>> []

请您参考如下方法:

您可以尝试将两个日期都设置为午夜:

class ValidEntryManager(models.Manager): 
    def get_query_set(self): 
        today = datetime.today() 
        start_date = datetime(today.year, today.month, today.day) 
        end_date = datetime(today.year, today.month, today.day+1) 
        return super(ValidEntryManager, self).get_query_set().filter(timestamp__gte=start_date, timestamp__lte=end_date)