在外键中设置字段的``upload_to``函数
Set ``upload_to`` function of a field in a foreign key
我有以下模型结构:
class BaseMovie(models.Model):
movie = models.FileField('Movie')
width = models.IntegerField('Width')
height = models.IntegerField('Height')
duration = models.FloatField('Duration')
class SpecialMovie(models.model):
base_movie = models.ForeignKey(BaseMovie, 'Base movie')
# some other stuff
背后的想法是我打算在几个模型中使用BaseMovie
。
我的问题是:
如何在SpecialMovie
模型中设置特殊电影上传的位置?
我认为仅在 BaseMovie
class 中存储元数据并在 SpecialMovie
中具有具有适当 upload_to
功能的电影字段并不令人满意,因为我必须将使用外键填充所有模型中元数据的代码复制到 BaseMovie
.
upload_to
可以be a callable;您可以将其设置为一个函数,该函数检查实例是否具有相关的 SpecialMovie,并相应地 return 正确的值。
我有以下模型结构:
class BaseMovie(models.Model):
movie = models.FileField('Movie')
width = models.IntegerField('Width')
height = models.IntegerField('Height')
duration = models.FloatField('Duration')
class SpecialMovie(models.model):
base_movie = models.ForeignKey(BaseMovie, 'Base movie')
# some other stuff
背后的想法是我打算在几个模型中使用BaseMovie
。
我的问题是:
如何在SpecialMovie
模型中设置特殊电影上传的位置?
我认为仅在 BaseMovie
class 中存储元数据并在 SpecialMovie
中具有具有适当 upload_to
功能的电影字段并不令人满意,因为我必须将使用外键填充所有模型中元数据的代码复制到 BaseMovie
.
upload_to
可以be a callable;您可以将其设置为一个函数,该函数检查实例是否具有相关的 SpecialMovie,并相应地 return 正确的值。