get_file_path
함수를 사용하여 동적 경로를 생성하려고합니다. 이 str(instance.id)
대신 Album
슬러그 필드를 get_file_path
에 사용할 수 있습니까? 감사동적 FileField 경로
모델
def get_file_path(instance, filename):
return os.path.join('files', str(instance.id), filename)
class Album(models.Model):
name = models.CharField(max_length=100)
slug = models.SlugField(unique = True,max_length=100,help_text="Suggested value automatically generated from name. Must be unique.")
path = models.CharField(max_length=100,null=True, blank=True)
language = models.ForeignKey(Category)
albumid = models.CharField(max_length=100)
class Song(models.Model):
title = models.CharField(max_length=100)
artist = models.ManyToManyField(Artist)
music = models.ForeignKey(Music)
album = models.ForeignKey(Album)
file = models.FileField(upload_to=get_file_path)
업데이트입니다 : 나는 instance.slug
을 시도했다. 작동하지 않습니다. instance.slug
은 노래 모델에 없습니다. 그것은 앨범의 모델에 존재 갱신 2가 (Album
슬러그 필드를 사용하려면) : 여기 snapshot
보기 감사합니다 : D – Kulbir
DrTyrsa 한 가지 더. 왜 작동하지 않는거야? 'str (instance.category.name)'. '노래'객체에 'category'라는 속성이 없습니다라는 오류 메시지가 표시됩니다. – Kulbir
@no_access 왜 작동해야합니까? :-) 당신의 코드에'category'가 없습니다. – DrTyrsa