1
저장 메소드에 일부 사용자 정의가있는 모델이 있습니다. 저장 메소드가 호출되는 때마다ModelForm을 통해 사용자 정의 저장 인수를 전달합니다.
def SomeModel(models.Model):
def save(self, *args, **kwargs):
if not kwargs.pop('skip_expensive_processing', False):
do_expensice_processing()
return super(SomeModel, self).save(*args, **kwargs)
기본적으로, 좀 비싼 프로세스가
을 실행하고 싶지만 무리 A를 할 때하는 것은 함께 (대량 가져 오기), 내가하고 싶지 않아 저장 각 저장시 값 비싼 처리. 모든 물체를 구한 후에 비싼 과정을 한 번하고 싶습니다.대용량 저장의 경우 개체는 ModelForm
을 통해 생성됩니다. 폼을 수정하여 양식이 SomeModel
의 save 메서드를 호출 할 때 skip_expensive_processing
키워드 arg를 처리하도록하는 방법을 찾아야합니다. 어떻게해야합니까?
나는 ModelForm.save()
방법의 테 소스를 통해 loked하지만 너무 정직하게 저장 방법 모델을 caling하지 않는 것 ...