わかりましたので、CSV ドキュメントを Machine オブジェクトに保存します。マシンが存在しない場合はマシンが存在しないことをユーザーに通知し、保存を終了します。まず、CSV ファイルを読み込んで、シリアル番号の行を読み取って、ドキュメントがどのマシン用であるかを確認します。
私の信号では:
@receiver(post_save, sender=CSVDocument)
def read_file(sender,instance, signal, created, **kwargs):
...
machine = Machine.objects.get(serial_number=sn)
if not machine:
customNotificationMessage in admin tempalte
この段階で例外を発生させたくはありません。むしろ、そのようなマシンは存在しないことをユーザーに伝えたいので、まずマシンを作成してください。
現在、try ブロックを取り出してマシンを検索すると、例外が発生します。
Machine matching query does not exist. Lookup parameters were {'serial_number': 'NEC03610154'}
私は実際には、ファイルが保存された後にメッセージの一部としてこの実行を望んでいます。