2013-10-31 80 views
1

我有一個模型用於上傳用戶在相冊中的照片。但是,如果用戶不想創建相冊,只上傳照片,我希望將其上傳到默認相冊中,即「默認相冊」。因此,無論用戶何時上傳照片而不創建新相冊,「默認相冊」都應該由相片更新。爲此,我曾想過在專輯的標題中給出default value,但是我也不想創建一個名爲「默認專輯」的新專輯,只要用戶不創建新專輯來上傳照片。我只想更新'默認相冊'。請建議我如何實現上述提到的。也可以將用戶的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