Чтобы настроить модели, представления и URL-адреса, вам необходимо создать основное приложение Oscar, в котором находится модель / представление.Тогда вы сможете переопределить любые классы модели / вида.
Шаги для разветвления / настройки приложения:
Если вы впервые разветвляете приложение Оскар, затем вам нужно создать корневую папку приложений, в которой будут находиться все ваши разветвленные приложения:
$ mkdir yourappsfolder $ touch yourappsfolder / init .py
Создайте модуль python с той же «меткой приложения», что и в приложении Oscar:
Пример: настройка приложения oscar.apps.catalogue
$ mkdir yourappsfolder/catalogue
$ touch yourappsfolder/catalogue/__init__.py
Если в приложении Oscar есть файл models.py, то вам нужно создать файл models.py в локальном приложении.
ваши пользовательские модели находятся здесь
от oscar.apps.catalogue.models import *
ПРИМЕЧАНИЕ. Чтобы настроить модели Оскара, вы должны добавить свой собственный, прежде чем импортировать модели Оскара.Тогда в вашем файле моделей будут две модели с одинаковым именем в приложении, Django будет использовать только первую модель.
Пример: для добавления активного поля в модель продукта:
# yourappsfolder/catalogue/models.py
from django.db import models
from oscar.apps.catalogue.abstract_models import AbstractProduct
class Product(AbstractProduct):
active = models.BooleanField(default=False)
from oscar.apps.catalogue.models import *
Создайте файл admin.py в локальном приложении.
yourappsfolder / catalog / admin.py
из oscar.apps.catalogue.admin import *
Затем скопируйте каталог 'migrations' из oscar / apps / catalog и поместите его в новое приложение локального каталога.
Добавил его как приложение Djangoзаменив приложение Оскара своим собственным в INSTALLED_APPS.
settings.py
из oscar import get_core_apps INSTALLED_APPS = [..., # все ваши не-оскарские приложения] + get_core_apps (['yourappsfolder.catalogue '])
ПРИМЕЧАНИЕ: get_core_apps ([]) вернет список основных приложений Oscar или, если вы предоставите список ваших пользовательских приложений, они заменят ядро Oscarприложения.
Наконец, создайте миграции с помощью команды управления «makemigrations» и примените миграции с помощью команды управления «migrate catalog».Затем вы можете увидеть, что в модель продукта добавлен новый столбец.