Django Parler 如何从 mixin 访问翻译后的模型字段
Django Parler how to access translated model field from a mixin
我写过这个模型
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
class OwnerCourseEditMixin(OwnerCourseMixin, OwnerEditMixin):
fields = ['subject', 'title', 'slug', 'overview']
success_url = reverse_lazy('manage_course_list')
template_name = 'courses/manage/course/form.html'
"fields = ['subject', 'title', 'slug', 'overview']" 行导致错误
异常类型:FieldError
异常值:为课程指定的未知字段(概述、别名、标题)
如何引用翻译后的字段?如果我从字段列表中删除 'title'、'slug'、'overview',它就会起作用。
已解决
创建翻译字段时 django-parler 为每个可翻译模型创建一个模型。因此,要使用的模型不是 Course 模型本身,而是生成的 CourseTranslation 模型。
我仍然需要将主题字段添加到翻译模型,然后一切正常。
我写过这个模型
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
class OwnerCourseEditMixin(OwnerCourseMixin, OwnerEditMixin):
fields = ['subject', 'title', 'slug', 'overview']
success_url = reverse_lazy('manage_course_list')
template_name = 'courses/manage/course/form.html'
"fields = ['subject', 'title', 'slug', 'overview']" 行导致错误
异常类型:FieldError 异常值:为课程指定的未知字段(概述、别名、标题)
如何引用翻译后的字段?如果我从字段列表中删除 'title'、'slug'、'overview',它就会起作用。
已解决
创建翻译字段时 django-parler 为每个可翻译模型创建一个模型。因此,要使用的模型不是 Course 模型本身,而是生成的 CourseTranslation 模型。
我仍然需要将主题字段添加到翻译模型,然后一切正常。