我正在尝试创建一个新用户,但收到以下消息:
得到_ raise AttributeError(“无法通过%s实例”类型访问管理器 AttributeError:无法通过CompanyUser实例访问Manager
这就是我要做的:
def obj_create(self, bundle, request=None, **kwargs):
try:
bundle = super(AccountCreateResource, self).obj_create(bundle)
bundle.obj.set_password(bundle.data.get('password'))
bundle.obj.objects.create_user()
except IntegrityError:
raise BadRequest('Username already exists')
我应该能找到经理。这是我的模型:
^{pr2}$
你没有显示足够的代码或回溯来理解到底发生了什么,但是无论如何:你得到的错误消息意味着你试图从一个实例访问管理器,这是不允许的,句点-你有一个抽象模型的事实是完全不相干的。您必须从模型类本身访问管理器。希望这只是一个用
type(instance).objects
取代instance.objects
的问题。在真的不清楚你想在这里做什么。导致错误的这一行毫无意义:
由于您还没有提供
bundle
的代码,所以我不得不猜测这是一个带有obj
ForeignKey的模型,它指向CompanyUser
(不过,命名约定相当奇怪)。但正如错误所说,不能对实例调用objects
,只能在类上调用。但是即使可以,这行代码仍然没有意义:obj
已经是用户了,那么为什么要创建一个用户呢?再说一遍,create_user
至少需要一个email参数,您没有提供这个参数。在相关问题 更多 >
编程相关推荐