Джанго Парлер, как получить доступ к переведенному модельному полю из миксина

Я написал эту модель.

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

И ТАКЖЕ ЭТО класс миксина

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" из списка полей, это сработает.

1 ответ

Решение

РЕШИТЬ

При создании переведенных полей django-parler создает модель для каждой переводимой модели. Таким образом, модель для работы - это не сама модель Course, а сгенерированная модель CourseTranslation.

Мне все еще нужно было добавить предметную область в модель перевода, тогда все работало.

Другие вопросы по тегам