私は3つのファイルフィールドを持つモデルを持ち、.saveが呼び出されたときにモデルを操作します。問題は、オブジェクトのFileFieldトリガー.saveを保存することです。一度に複数のFileFieldを保存するにはどうすればよいですか?2つのファイルfileldを一度にモデルに保存する
alt_audioと試料中に保存された音声は(mp3)をアップロードした場合、それはoggの(またはその逆)にmp3から変換されますclass Record(Model):
name = CharField(max_length=30)
audio = FileField(upload_to=settings.AUDIO_ROOT)
alt_audio = FileField(upload_to=settings.AUDIO_ROOT, null=True)
sample = FileField(upload_to=settings.AUDIO_ROOT, null=True)
def save(self, *args, **kwargs):
convert_files(self)
super(Record, self).save(*args, **kwargs)
、:
def convert_files(record):
...
record.alt_audio.save(os.path.basename(convert_to), File(open(convert_to)))
record.sample.save(os.path.basename(sample_name), File(open(sample_name, 'r')))
問題がalt_audio.save
トリガということです戻るrecord.save
。空でない場合は、各ファイルフィールドのチェックを追加しました。私はまた、後でセロリのサーバーにそれを与えることによってそのアクションを延期したい。 .saveを何度も起動させない方法はありますか?