在Django Model中使用实例方法

时间:2009-12-29 12:07:00

标签: django

我正在尝试为我的项目中的eac Model对象实现方法。 get_all(),get_by_id(),add(),remove()和其他人。 我需要每个对象使用它们。当我自动声明一个对象时,可以调用其中一个方法。 问题是,我不想在每个类中复制四种方法的代码。 有没有办法写一次,并将它们链接到每个对象。 我听说过python中的实例方法。 怎么用这个。 请帮忙 谢谢 ...

3 个答案:

答案 0 :(得分:3)

您可以拥有一个具有所有这些方法的基本管理器并继承它们。 Django model and manager inheritance

答案 1 :(得分:0)

class MyModel(models.Model):
    def get_all():
        return <something>

class A(MyModel):
    pass

class B(MyModel):
    pass

答案 2 :(得分:0)

你真的应该分离行级动作(比如delete(),get_some_calculated_attribute()),这些动作从表级操作(如create(),filter())进入Model类,这些操作在Manager类中。