A good way to do this is to use the command management feature in django Link .
Python cron . 10 .
, datediff , , . posting_date / django. Link
posting_date = models.DateTimeField(auto_now_add=True)
. :
from django.core.management.base import BaseCommand, CommandError
from cus_leads.models import CustomerLeads
from datetime import datetime, timedelta
class Command(BaseCommand):
help = 'Delete objects older than 10 days'
def handle(self, *args, **options):
CustomerLeads.objects.filter(posting_date__lte=datetime.now()-timedelta(days=10)).delete()
self.stdout.write('Deleted objects older than 10 days')
:
python <code_base>/manage.py purge_old_data --settings=<code_base>.settings.<env>
, :
cus_leads/
__init__.py
models.py
management/
__init__.py
commands/
__init__.py
purge_old_data.py
tests.py
views.py
-
. is_deleted true 10 . .
@e4c5 , :
, , .