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