Подклассы модели категорий Satchmo, но затем появляется ошибка "Объект" Менеджер "не имеет атрибута" root_categories ""

Я использую Satchmo как часть сайта, который я сейчас создаю. Сейчас я пытаюсь добавить больше функций в класс Satchmo Category, но, очевидно, я не собираюсь вносить какие-либо изменения в файлы Satchmo. Итак, я подумал, что создание подкласса класса Category даст мне новый класс, который содержит все свойства и методы Satchmo Category, в то же время позволяя мне добавлять свои собственные. Однако, подклассы Python не работают так, или я делаю это неправильно. Вот код, который я использую для подкласса категории:

from product.models import Category


class MyCategory(Category):
    """ additional functions to pull data from the Satchmo store app """

Один из методов, которые я обычно могу использовать в классе Category:

Category.objects.root_categories()

Однако, когда я пытаюсь получить доступ

MyCategory.objects.root_categories()

Я получаю следующую ошибку:

AttributeError: 'Manager' object has no attribute 'root_categories'

Кто-нибудь может указать мне правильное направление для решения этой проблемы?

1 ответ

Решение

Вы должны прочитать документы о пользовательских менеджерах и модели наследования.

В любом случае, вы, вероятно, должны определить MyCategory Класс как модель прокси, которая наследует менеджер родительского класса.

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