對於下面的代碼:在Django的多表繼承中,可以覆蓋upload_to參數嗎?
class Image(models.Model):
alt_name = models.CharField(max_length=200)
url = models.CharField(max_length=255, blank=True)
class Button(Image):
source = models.ImageField(max_length=1024, upload_to='buttons')
class Snapshot(Image):
source = models.ImageField(max_length=1024, upload_to='snapshots')
class Banner(Image):
source = models.ImageField(max_length=1024, upload_to='banners')
在上述情況下,我想每一個不同類型的上傳到自己的文件夾上傳。例如,橫幅將位於名爲banners
的文件夾下,並且快照將在snapshots
之下。上述工作如預期,但我重複每個子類的ImageField。上述是實現我的目標的唯一方法還是存在DRYer方法?
..而不是使用繼承爲每個圖像類型,我會在包括選擇圖像模式kwarg創建IntegerField/en/dev/ref/models/fields /#選項 ...然後觸發IntegerField值的upload_to值。如果可以避免的話,在圖像表上查詢加入是沒有意義的。 – 2009-12-09 00:03:42