Django Parler如何从mixin访问翻译的模型字段

时间:2018-03-30 10:24:23

标签: django python-2.7 mixins django-parler

我写过这个模型。

class Course(TranslatableModel):
    translations = TranslatedFields(
        title = models.CharField(max_length=200),
        overview = models.TextField(),
        slug = models.SlugField(max_length=200, unique=True))
    owner = models.ForeignKey(User, related_name='courses_created')
    subject = models.ForeignKey(Subject, related_name='courses')
    created = models.DateTimeField(auto_now_add=True)
    order = OrderField(blank=True, for_fields=['title'])

    class Meta:
        ordering = ('order',)

    def __unicode__(self):
        return self.title

还有这个mixin类

class OwnerCourseEditMixin(OwnerCourseMixin, OwnerEditMixin):
    fields = ['subject', 'title', 'slug', 'overview']
    success_url = reverse_lazy('manage_course_list')
    template_name = 'courses/manage/course/form.html'

"字段= ['主题','标题',' slug','概述']&#34 ; line导致错误

异常类型:FieldError 例外值:为课程

指定的未知字段(概述,段塞,标题)

如何参考翻译的字段?如果我删除标题',' slug','概述'从字段列表中可行。

1 个答案:

答案 0 :(得分:0)

解决

当创建翻译字段时,django-parler为每个可翻译模型创建模型。因此,要使用的模型不是课程模型本身,而是生成的CourseTranslation模型。

我仍然需要将主题字段添加到翻译模型,然后全部工作。