2013-03-05 3 views
0

을 저장하기 전에 관계를 확인 내가 장고 모델을 가지고 두 클래스 annualReportannualReportAttachment장고 모델 : 오브젝트

두 모델 사이의 관계는 oneToMany입니다 구성되어 있습니다. 관리자 양식에서 나는 문제는 첨부 파일이 attachments 변수 때문에 아직 저장되지 않은 것을

def clean(self): 
    attachments = annualReportAttachment.objects.filter(annualReport=self) 
    if len(attachments) == 0: 
     raise ValidationError("You should upload at least one file") 

annualReport 클래스에 다음 청소 방법을 사용하므로 사용자가 하나 이상의 파일을 업로드 것을 확인 필요 양식이 항상 오류를 발생시킵니다.

사용자가 하나 이상의 파일을 업로드했는지 어떻게 확인할 수 있습니까?

+0

len (첨부 파일)> 0 인 경우 : – catherine

+0

annualReportAttachment가 annualReport에 대한 관리 클래스에서 인라인 모델로 표시됩니까? – Brandon

+0

@Brandon 그렇습니다. 인라인 모델입니다. –

답변

0

인라인 모델에서 하나 이상의 양식이 저장되어야합니다. 이렇게하려면 RequireOneFormSet 클래스를 활용하는 것이 좋습니다 (https://code.google.com/p/wadofstuff/wiki/WadOfStuffDjangoForms

+0

거기에'RequireOneFormSet' 대신에 해결 방법이있는 다른 솔루션이 있습니까? –

+0

당신은 항상 자신 만의 글을 쓸 수 있지만, 결국 RequireOneFormSet 클래스에있는 것과 같은 로직을 작성하게 될 것입니다. 그 클래스를 최소한 하나의 인라인 모델이 필요한 수많은 프로젝트에서 사용했으며 훌륭한 결과를 얻었습니다. – Brandon

+0

RequireOneFormSet 클래스는 사용자의 필요에 맞지 않습니다. – Brandon