Джанго Оскар - Добавление опций к атрибуту продукта - PullRequest
0 голосов
/ 26 апреля 2018

Я хочу добавить некоторые опции в атрибут Product в django oscar.

По сути, я хочу сделать то же самое, что и в документации, но привести его к полному примеру.http://django -oscar.readthedocs.io / ru / Releases-1.6 / themes / modelling_your_catalogue.html

Поэтому для этого я прав, полагая, что мне нужно использовать настроенную модельдокументация для создания подкласса Продукта и добавления к нему этих атрибутов.http://django -oscar.получит что-то вроде этого?

from django.db import models

from oscar.apps.catalogue.abstract_models import AbstractProduct

class Product(AbstractProduct):
    video_url = models.URLField()

    language = AttributeOptionGroup.objects.create(name='Language')
    AttributeOption.objects.create(group=language,option='English')
    AttributeOption.objects.create(group=language,option='Croatian')

    klass = ProductClass.objects.create(name='foo', slug='bar')
    ProductAttribute.objects.create(
        product_class=klass,
        name='Language',
        code='language',
        type='option',
        option_group=language)

from oscar.apps.catalogue.models import *

Обновление 26/04/2018: https://github.com/django-oscar/django-oscar/pull/2448

Исправлено в Django Oscar для добавления возможности добавления группы параметров с помощью панели инструментов.Я думаю, что мне нужно проверить мою версию Django, так как я не вижу эту опцию на своей панели инструментов.

1 Ответ

0 голосов
/ 26 апреля 2018

Атрибуты продукта позволяют вам устанавливать дополнительные данные о продукте без необходимости настройки базовых моделей Django.

Согласно документации , нет, вы ненеобходимо переопределить модель по умолчанию catalogue.Product.Вместо этого вам следует создать ProductClass, который имеет ProductAttribute, который имеет OptionsGroup, который вы хотите.

Вам следует переопределить модели по умолчанию только в том случае, если вам нужна эта функциональность для всех ваших продуктов (независимо от их ProductClass).

По сути, вы можете либо делать то, что вы делали внутри своего пользовательского класса Product, и переносить его, либо делать то же самое через панель мониторинга.Переопределение класса Product не требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...