我想为django.db.models.manager.Manager实现自定义MyManager(我们称其为MyModel)。

MyManager中的方法需要在AnotherModel上调用筛选器方法。

这可能吗 ?因此,我得到一个ImportError

最佳答案

在您的MyModel中,您需要将MyManager添加为显式管理器。

class MyModel(models.Model):
    objects = MyManager()


您可以保留标准的Manager,也可以同时拥有您的Manager,方法是将这个Manager包含另一个名称。

class MyModel(models.Model):
    myobjects = MyManager()


如果您使用的是django-admin,则拾取经理对象时会涉及到细微差别。您可以在awesome django documentation中找到这些以及其他许多详细信息。

10-06 11:25