2010-04-15 7 views
0

upload_to 나는 두 모델은 다음과 같이 가지고 : 당신이 볼 수 있듯이장고 manytomany, imageField 및

class EntryImage(models.Model): 
    image = models.ImageField(upload_to="entries") 

class Entry(models.Model): 
    code = models.CharField(max_length=70, unique=True) 
    images = models.ManyToManyField(EntryImage, null=True, blank=True) 

, 항목은 0 개 이상의 이미지를 가질 수 있습니다. 제 질문은 이런 유형의 스키마를 가질 수 있으며 엔트리 코드를 기반으로 upload_to를 동적으로 변경할 수 있습니까?

답변

0

upload_to을 호출 가능하게 만들 수 있습니다.이 경우 호출되는 모델의 인스턴스가 호출되고 전달됩니다. 그러나 이것은 아직 저장되지 않았을 수 있으며,이 경우 엔트리 코드를 질의 할 수 없을 수도 있습니다.

+0

감사합니다. 다음을 갖는 대안 스키마는 무엇입니까? 1 많은 이미지가있는 항목과 해당 이미지가 특정 디렉토리에 업로드됩니까? (EntryImage에서 엔트리를 가리키는 외래 키를 갖는 것을 좋아하지 않을 것입니다.) – dimitris

+0

비슷한 문제가 있습니다. 신호 (pre_save)를 사용하여이 문제를 해결할 수 있습니까? – tatlar

0

잘 나가지 않고도 디렉토리 이름이 포함 된 중간 M2M 테이블 EntryImageDir을 만들 수 있습니다. EntryImages를 외부 키와 연결하면 Entry에서 신호를 생성하거나 무언가를 업로드 할 때 EntryImageDir을 만들 수 있습니다.

사용자 정의 필드와 M2M에 대한 문서

은 여기에 있습니다 : 빠른 답변 http://www.djangoproject.com/documentation/models/m2m_intermediary/