我想为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中找到这些以及其他许多详细信息。