Я пытаюсь раскошелиться на django-oscar, чтобы изменить форму панели мониторинга для атрибутов продукта, multioption. Необходимо иметь поле описания для каждой опции.
project/oscar_fork/catalogue/models.py:
from django.db import models
from django.utils.translation import ugettext_lazy as _
from oscar.apps.catalogue.abstract_models import AbstractAttributeOption, AbstractAttributeOptionGroup
class AbstractAttributeOption(AbstractAttributeOption):
description = models.CharField(_('Description'), max_length=250, blank=True)
group = models.ForeignKey(
'catalogue.AttributeOptionGroup',
on_delete=models.CASCADE,
related_name='optionsblabla',
verbose_name=_("Group"))
from oscar.apps.catalogue.models import *
Модели изменены с дополнительным полем "description" в моей БД, но все равно мои поля формы не могут найти это поле.
project/oscar_fork/dashboard/catalogue/forms.py:
from oscar.apps.dashboard.catalogue import forms as base_forms
class AttributeOptionForm(base_forms.AttributeOptionForm):
class Meta(base_forms.AttributeOptionForm.Meta):
fields = ('option', 'description')
Если я изменю поля form.py и models.py прямо в приложении Oscar, это сработает. Другие формы могут быть легко разветвлены, как показано выше. Попробовал это с AttributeOptionGroupForm. Я думаю, что есть проблема с последовательностью импорта. Как я могу решить это?
Error:
django.core.exceptions.FieldError: Unknown field(s) (description) specified for AttributeOption
Я использую django-oscar v1.6. Джанго v.2.08.