我有以下Django测试用例:
objects = ActionManager()
action = objects.log_action(user=self.test_user)
self.assertIsInstance(action, Action)
但是,由于我在上面的示例中访问管理器的非常规方式,我收到此错误:
app = model._meta.app_label
AttributeError:' NoneType'对象没有属性' _meta'
管理器:
class ActionManager(models.Manager):
def log_action(self, user, content_object):
action = self.model(
user=user,
)
user.save(using=self._db)
return action
我之所以这样做是因为管理员没有以Action.objects.log_action
的方式附加到模型,因此self.model
不起作用。这就是我假设正在发生的事情。
我的问题是,如何在保持self.model
和我的测试用例的同时解决此问题?
答案 0 :(得分:0)
没有理由不能自己设置模型。
objects = ActionManager()
objects.model = MyModel