def save(self, request, commit=True): super(TracksForm, self).save(commit=commit) if commit: tracks_on_album = Track.objects.filter( album=self.instance).count() + 1 for file in self.cleaned_data['tracks']: try: file_path = file.temporary_file_path() metadata = mutagen.File(file_path, easy=True) if metadata and metadata.get('title'): title = metadata.get('title')[0] except: title = "untitled" try: track = Track(audio=file, title=title, order=tracks_on_album, album=self.instance) track.full_clean() track.set_upload_to_info( username=self.instance.artist_profile.profile.user. username, track_type="albums", album_title=self.instance.title) tracks_on_album += 1 track.save() except ValidationError as e: messages.error(request, e.messages[0] + " : " + str(file)) return self.instance