2014-09-09 7 views
2

"데이터"모델의 인스턴스의 타임 스탬프를 Cronjob을 통해 확인하는 매우 간단한 관리 함수를 작성하려고합니다. 14 일 이상 된 사람. 나의 현재 기능은 다음과 같습니다장고 앱의 관리 기능은 하나라도 가지고 있어도 "handle()"함수가 필요하다고 불평합니다

NotImplementedError: subclasses of BaseCommand must provide a handle() method 

위의 핸들 방법이있다 - 문제가 : 나는 불만을 얻을로

class Command(BaseCommand): 

    help = 'Delete data instances older than 14 days' 

    def add_argument(self): 
     pass 

    def handle(self, *args, **options): 
     time_threshold = datetime.now() - timedelta(days=14) 
     to_delete = Data.objects.filter(timestamp__lt=time_threshold) 
     for instance in to_delete: 
      instance.delete() 

뭔가,이 명령을 잘못해야합니까?

+0

add_arguement 함수를 추가 한 후에도 동일한 문제가 발생합니다. – marcusshep

답변

0

동일한 문제가 있습니다. 들여 쓰기를 확인하십시오. def handle()은 명령 서브 클래스에서 선언 된 함수 여야합니다. 만약 outdented라면, handle() 함수가 올바른 어휘 레벨에 존재하지 않기 때문에 오류가 발생합니다.