我需要项目的名称(字段项目,没有翻译)来构建ImageField中upload_to目录的路径。但是我得到了这个错误:
/ admin / api / stage / add /中的AttributeError ' StageTranslation'对象没有属性' project'
def stage_name_path(instance, filename):
# get error at instance.project
return '/'.join(filter(None, (instance.project, 'stages', filename)))
class Stage(TranslatableModel):
name = models.CharField(
'Short name',
max_length=50
)
text = models.CharField(
'Text',
max_length=120
)
translations = TranslatedFields(
image=models.ImageField(
'Image (i18n)',
upload_to=stage_name_path
),
)
project = models.ForeignKey(Project, related_name='stages')
通过实例,我可以使用翻译(图像)访问字段,但我无法访问字段名称,文本或项目......真正需要的字段。
答案 0 :(得分:0)
尝试:instance.master.project
。 StageTranslation
有一个ForeignKey
字段master
是对Sage
的引用。