2015-03-16 4 views
0

Я пытаюсь выполнить команду оболочки Django как cron, У меня есть задачи для запросов и задач для поиска и чтения и записи с использованием моделей и запросов моего приложения django.Выполнять команду оболочки Django как cron

Как я могу выполнить это 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) 

ответ

1

Взгляните на 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.

+0

im использование этого импорта на Perfil Model – Softsofter

+0

им попробовать, что вы говорите. – Softsofter

+0

Хорошо, спасибо. – Softsofter