三个模型具有ImageField指一种功能,具有if. 是否有任何建议如何在没有 if 的情况下执行此功能?
def upload_location(instance, filename):
_, extension = os.path.splitext(filename)
if isinstance(instance, (Story,)):
return f'stories/{instance.id}/cover{extension}'
elif isinstance(instance, (Episode,)):
return f'stories/{instance.story.id}/{instance.index}/cover{extension}'
elif isinstance(instance, (EpisodeSlide,)):
return f'stories/{instance.episode.story.id}/{instance.episode.index}/{instance.id}{extension}
弑天下
相关分类