为什么我不能在自定义管理器中使用其他模型对象?

时间:2011-07-06 05:58:59

标签: python django

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

MyManager中的方法需要在AnotherModel上调用过滤方法。

这可能吗?我因此而得到ImportError

1 个答案:

答案 0 :(得分:1)

MyModel中,您需要将MyManager添加为明确的经理。

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

您可以保留标准经理并让您的经理兼顾,只需将该经理包含在其他名称中即可。

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

如果您使用的是django-admin,那么管理员的对象将被捕获的细微差别。您可以从awesome django documentation找到这些和许多其他详细信息。