0

我需要项目名称(现场项目,无翻译)来构建ImageField中upload_to目录的路径。但我得到这个错误:

/admin/api/stage/add/ 'StageTranslation' 对象的 AttributeError 没有属性 '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')

通过实例,我可以访问带有翻译(图像)的字段,但我无法访问字段名称、文本或项目......真正需要的那些。

4

1 回答 1

0

试试:instance.master.project。有StageTranslation一个ForeignKey字段master是对 的引用Sage

于 2016-06-06T09:29:24.617 回答