Django 1小时后如何从数据库中删除数据?

Django 1小时后如何从数据库中删除数据?,django,Django,大家好,我已经用django在我的数据库中保存了一个用户ip地址,但我想在一小时后删除这个ip地址。请告诉我在django我怎么做 我的表名是iptable。在我的ip表中,2列-1是保存数据的ip\u地址,2是date\u时间。我如何在一小时后从我的数据库中删除这个请告诉我 提前谢谢。如果您需要有关我的代码的任何信息,请告诉我,我将在我的评论部分提供。正如评论中所提到的,此类任务应使用scheduler执行。您可以使用,也可以使用更简单的库,这样就不需要安装消息队列服务器 使用django a

大家好,我已经用django在我的数据库中保存了一个用户ip地址,但我想在一小时后删除这个ip地址。请告诉我在django我怎么做

我的表名是
iptable
。在我的ip表中,2列-1是保存数据的
ip\u地址
,2是
date\u时间
。我如何在一小时后从我的数据库中删除这个请告诉我


提前谢谢。如果您需要有关我的代码的任何信息,请告诉我,我将在我的评论部分提供。

正如评论中所提到的,此类任务应使用scheduler执行。您可以使用,也可以使用更简单的库,这样就不需要安装消息队列服务器

使用django apscheduler的非常简单的示例:

#tasks.py
从datetime导入datetime,timedelta
从apscheduler.schedulers.background导入BackgroundScheduler
从django_apscheduler.jobstores导入DjangoJobStore、注册事件、注册作业
调度程序=背景调度程序()
添加_jobstore(DjangoJobStore(),“默认”)
@注册作业(调度程序,“间隔”,秒=3600)
def delete_ip():
用于IpTable.objects.all()中的记录
#我在这里假设date_time是创建对象的时间
已用时间=datetime.now()-record.date\u时间
如果经过的时间>时间增量(小时=1):
record.delete()
注册\u事件(计划程序)
urls.py
文件中,您可以启动调度程序:


从django.url导入路径
从…起导入视图
#将模块与任务一起导入
从yourapp.tasks导入计划程序
URL模式=[
路径(“”,views.index,name='index'),
#ex:/polls/5/
路径(“/”,views.detail,name='detail'),
#ex:/polls/5/结果/
路径('/results/',views.results,name='results'),
#ex:/polls/5/投票/
路径('/vote/',views.vote,name='vote'),
]
scheduler.start()

为本次大会使用芹菜库您可以用Brif解释我请告诉我如何做您可以创建每60分钟执行一次的任务,并遍历表中的所有记录检查自创建记录以来所用的时间是否超过60分钟。先生,我如何每60分钟运行此查看功能请告诉我函数为
def delete\u ip:
@xbound此行-
用于IpTable.query.all()中的记录horror@Chiefir我知道,这就是为什么我说这是一个非常简单的解决方案。也许使用
post\u save
信号并为每个记录注册删除任务将是更好的方法。