对象 'user' 没有属性 'create' - Django

Object 'user' has no atribute 'create' - Django

我对收到的错误有疑问。我有一个查询,我正在尝试基于我的项目的 Synapse Api 发送。我目前正在尝试发送请求,以使用 API 创建一个新用户。每次我尝试发送请求时,我都会收到一条消息,指出用户对象没有创建。这是错误。

AttributeError at /setup_profile/
type object 'User' has no attribute 'create'
Request Method: POST
Request URL:    http://127.0.0.1:8000/setup_profile/
Django Version: 1.8.6
Exception Type: AttributeError
Exception Value:    
type object 'User' has no attribute 'create'
Exception Location: C:\Users\OmarJandali\Desktop\opentab\opentab\tab\views.py in createUserSynapse, line 1104

这是我当前拥有的代码,它将创建创建新用户的请求。

def createUserSynapse(request):
    args = {
        'email': 'hello@synapsepay.com',
        'phone_number': '555-555-5555',
        'legal_name': 'Hello McHello',
        'note': ':)',  # optional
        'supp_id': '123abc',  # optional
        'is_business': True,
        'cip_tag': 1
    }

    user = User.create(client, **args)
    print(user)

现在我知道,对于普通查询集,我有以下格式的对象

User.objects.create(client, **args)

但是当我这样做时,我收到一条错误消息

正在传递两个参数,1 是必需的,所以我认为传递了很多变量...我不确定错误来自何处...

这是我在使用 User.objects.create(client, ** args)

时遇到的错误
TypeError at /setup_profile/
create() takes 1 positional argument but 2 were given
Request Method: POST
Request URL:    http://127.0.0.1:8000/setup_profile/
Django Version: 1.8.6
Exception Type: TypeError
Exception Value:    
create() takes 1 positional argument but 2 were given
Exception Location: C:\Users\OmarJandali\AppData\Local\Programs\Python\Python36\lib\site-packages\django\db\models\manager.py in manager_method, line 127

已更新

客户端需要传递到 api 调用中,它包含以下内容:

import os
from synapse_pay_rest import Client

args = {
    'client_id': 'client_id_...6YiBl',
    'client_secret': 'client_secret_...kC3IF',
    'fingerprint': '...dd48b',
    'ip_address': '127.0.0.1',
    'development_mode':True,
    'logging':False
}

client = Client(**args)

此外,这里有一个 github link 到 api 示例,由 api 开发人员创建。

https://github.com/synapsepay/SynapsePayRest-Python

必须通过 api 调用传递客户端

Create 方法只有关键字参数。将您的代码重写为:

User.objects.create(client=client, **args)

更新

我刚刚发现您使用的是第三方包。因此,您需要像这样 from synapse_pay_rest import User as SynapseUser 导入用户 class 并在您的代码中使用 SynapseUser:SynapseUser.create(clients, **argss)