Python 测试用例给定错误对象没有属性“\u meta”
我有以下Django测试用例:Python 测试用例给定错误对象没有属性“\u meta”,python,django,django-managers,Python,Django,Django Managers,我有以下Django测试用例: objects = ActionManager() action = objects.log_action(user=self.test_user) self.assertIsInstance(action, Action) 但是,由于在上述示例中访问管理器的非常规方式,我得到以下错误: app=型号。_meta.app\u标签 AttributeError:“非类型”对象没有属性“\u meta” 经理: 我认为这是因为管理器没有以Action.objects
objects = ActionManager()
action = objects.log_action(user=self.test_user)
self.assertIsInstance(action, Action)
但是,由于在上述示例中访问管理器的非常规方式,我得到以下错误:
app=型号。_meta.app\u标签
AttributeError:“非类型”对象没有属性“\u meta”
经理:
我认为这是因为管理器没有以Action.objects.log\u Action的方式连接到模型,因此self.model不起作用。这就是我认为正在发生的事情
我的问题是,如何在保持self.model和我的测试用例得体的同时解决这个问题?没有理由不能自己设置模型
objects = ActionManager()
objects.model = MyModel
你能解释一下为什么要这样做,而不是像往常一样将对象定义放在模型中吗?@DanielRoseman只是因为我遵循了关于如何在Django中测试管理器的指南:这是怎么回事?这不是对模型本身的循环引用吗?
objects = ActionManager()
objects.model = MyModel