对于下面的代码:在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