django - 在特定时间每天清除表格中的数据

时间:2016-01-29 11:54:46

标签: django multithreading postgresql process

我的django服务器端有postgres。

我想要做的是每天在12:00(午夜)清除所有数据中的特定表格。

我猜删除代码将是

Rides.objects.all().delete()

我不确定如何使用流程或某种主题,每天都会在12:00完成。

我想也许应该将服务器时钟设置为我的TimeZone,以确保它在12:00完全删除数据。

我应该怎么做?任何想法?

1 个答案:

答案 0 :(得分:0)

创建管理命令

在app目录中创建一个文件

  

管理/命令/ cleanup_rides.py

from django.core.management.base import NoArgsCommand
from models import Ride

class Command(NoArgsCommand):
    help = "cleaning up rides"

    def handle_noargs(self, **options):
        Ride.objects.all().delete()

然后将其添加到crontab运行命令crontab -e添加以下行

  

0 0 * * * path / to / python path / to / project / manage.py cleanup_rides

管理命令每天午夜运行并删除乘坐表中的所有记录。