0

私はdjangoモデルが2つのクラスannualReportで構成されていますannualReportAttachment

2つのモデル間の関係はですoneToMany。管理フォームで、ユーザーが少なくとも1つのファイルをアップロードしたことを検証する必要があるため、annualReportクラスで次のクリーンなメソッドを使用します

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

問題は、添付ファイルがまだ保存されていないため、attachments変数が空であり、フォームが常にそのエラーを発生させることです。

ユーザーが少なくとも1つのファイルをアップロードしたことを確認するにはどうすればよいですか?

4

1 に答える 1

0

インライン モデルの少なくとも 1 つのフォームが保存されていることを確認する必要があります。これを行うには、https: //code.google.com/p/wadofstuff/wiki/WadOfStuffDjangoForms の RequireOneFormSet クラスを活用することをお勧めします

于 2013-03-05T14:43:41.180 に答える