0

我正在使用 Satchmo 作为我目前正在构建的网站的一部分。目前我正在尝试向 Satchmo 类别类添加更多功能,但显然我不会对 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'

谁能指出我解决这个问题的正确方向?

4

1 回答 1

1

您应该阅读有关自定义管理器和模型继承的文档。

在任何情况下,您都应该将MyCategory类定义为代理模型,它确实继承了父类的管理器。

于 2011-01-11T14:56:23.030 回答