作为 cron 执行 Django shell 命令

Execute Django shell command as cron

我正在尝试以 cron 的方式执行 Django shell 命令, 我有一些查询和对象任务要使用我的 Django 应用程序的模型和查询进行搜索和读写。

我怎样才能每天执行 1 到 2 次?

例如,我如何定期运行这些查询:

from django.contrib.auth.models import User
from perfil.models import *

for user in usuarios:
        profiles = Perfil.objects.filter(user=user)
        create_task = Task.objects.create(user=user)

看看Custom management commands for django

作为一个基本示例:

from django.core.management.base import BaseCommand, CommandError
from django.contrib.auth.models import User
from perfil.models import *

class Command(BaseCommand):

    help = 'What does this do? '

    def handle(self, *args, **options):
        for user in usuarios:
            profiles = Perfil.objects.filter(user=user)
            create_task = Task.objects.create(user=user)

附带说明一下,您应该更明确地说明您的导入,而不是使用 from perfil.models import *

从那里,您可以根据保存的文件执行命令。如果您将文件保存在 yourapp/management/commands/dofunstuff.py 中,则可以通过 python manage.py dofunstuff.

执行它