带时间戳的 Django 过滤器模型

标签 django filter model timestamp

我有以下模型:

class User(models.Model):
    id = models.CharField(max_length=10, primary_key=True)

class Data(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    timestamp = models.IntegerField(default=0)

给定一个用户,我想知道如何使用时间戳进行过滤。例如:

获取 user1 从现在到 1 小时前的数据。

我有 now = time.time() 的当前时间戳,还有 1 小时前使用 hour_ago = now-3600

我想获取时间戳介于这两个值之间的数据。

最佳答案

使用range获取两个值之间的数据。

您可以在任何可以在 SQL 中使用 BETWEEN 的地方使用范围——用于日期、数字甚至字符。

例如

Data.objects.filter(timestamp__range=(start, end))

来自文档:

import datetime 
start_date = datetime.date(2005, 1, 1) 
end_date = datetime.date(2005, 3, 31) 
Entry.objects.filter(pub_date__range=(start_date, end_date))  

关于带时间戳的 Django 过滤器模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49905143/

相关文章:

django - 运行ajax在点击 anchor 时删除一条记录

Android避免通知出现

python - 过滤掉生成器

java - 实体与模型

具有 2 个字段的 Django 自定义字段

php - 在 Laravel 中自定义模型存储的验证规则

django - 如何在 django 中重写基本 url 以在所有页面的 url 中添加登录用户名而不是应用程序名称?

python - celery django解释

javascript - 如何将 React 组件添加到现有的 Django 项目

Android 联系人选择器已过滤