2013-10-31 2 views
1

사용자가 앨범에 사진을 업로드 할 수있는 모델이 있습니다. 그러나 사용자가 앨범을 만들고 단지 사진을 업로드하고 싶지 않으면 기본 앨범, 즉 '기본 앨범'에 업로드하고 싶습니다. 따라서 사용자가 새 앨범을 만들지 않고 사진을 업로드 할 때마다 '기본 앨범'이 해당 사진으로 업데이트되어야합니다. 이를 위해 앨범 제목에 default value을 주겠다고 생각했지만 사용자가 새 앨범을 만들어 사진을 업로드하지 않을 때마다 '기본 앨범'이라는 새 앨범을 만들고 싶지 않습니다. 난 그냥 '기본 앨범'을 업데이 트하고 싶습니다. 위에서 언급 한 방법을 제안 해주십시오. 또한 Photo 클래스가 아닌 Album 클래스에 사용자의 ForeignKey field을 제공하는 것이 좋습니다. 고맙습니다!django - ForeignKey의 기본값 이름

는 models.py :

class Album(models.Model): 
    title = models.CharField(max_length=200) 
    pub_date = models.DateTimeField(default=datetime.now) 
    user = models.ForeignKey(User) 


class Photo(models.Model): 
    album = models.ForeignKey(Album) 
    title = models.CharField(max_length=200) 
    image = models.ImageField(upload_to=get_upload_file_name, blank=True) 
    pub_date = models.DateTimeField(default=datetime.now) 

답변

0

쉬운,이 문서에서 바로의의 default 옵션을 사용하여 앨범은 항상 이름이 있어야 관계가 없습니다 이후 "앨범 기본"을 기본 수 있도록하지만, 실제 모델을 참조하십시오.

class Album(models.Model): 
    title = models.CharField(max_length=200, default="Default Album") 
+0

네, 그렇게 생각했는데 그 이름의 새 앨범을 만들지 않겠습니까? 또는 사용자가 앨범을 만들지 않고 사진을 업로드 할 때마다 '기본 앨범'이 업데이트됩니까? – Aamu

+0

앨범이 예 (생성되지 않은 경우)로 생성되면 항상 해당 이름으로 기본 설정됩니다. 그리고 사용자가 기본 앨범의 이름을 변경하지 않으면 항상 기본 앨범으로 업데이트/업데이트됩니다. –

+0

확인. 그리고 사용자가 'Default Album'이라는 이름의 앨범을 만들면 어떻게 될까요? 그들은 충돌 할 것인가? 아니면 '기본 앨범'에서 업데이트되고 새 앨범을 만들지 않겠습니까? – Aamu